| HTML::FormFu::Validator(3pm) | User Contributed Perl Documentation | HTML::FormFu::Validator(3pm) |
HTML::FormFu::Validator - Validator Base Class
version 2.07
Try to avoid using callbacks if possible. Below is a more maintainable and reusable approach, which also keeps the code out of the controller.
A normal application's directory would contain:
lib/HTML/FormFu/Constraint/MyApp/
lib/HTML/FormFu/Validator/MyApp/
lib/HTML/FormFu/Plugin/MyApp/
etc.
Then, the form config file would just need:
validator: 'MyApp::SomeValidator'
And the class would be something like this:
package HTML::FormFu::Validator::MyApp::SomeValidator;
use Moose;
extends 'HTML::FormFu::Validator';
sub validate_value {
my ( $self, $value, $params ) = @_;
my $c = $self->form->stash->{context};
return 1 if $c->model('DBIC')->is_valid($value);
# assuming you want to return a custom error message
# which perhaps includes something retrieved from the model
# otherwise, just return 0
die HTML::FormFu::Exception::Validator->new({
message => 'custom error message',
});
}
1;
Carl Franks, "cfranks@cpan.org"
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
Carl Franks <cpan@fireartist.com>
This software is copyright (c) 2018 by Carl Franks.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| 2019-01-12 | perl v5.28.1 |