logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

HTML::FormFu::Validator - Validator Base Class

Author

       Carl Franks <cpan@fireartist.com>

Best Practices

       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;

Core Validators

       HTML::FormFu::Validator::Callback

Description

License

       This library is free software, you can redistribute it and/or modify it under  the  same  terms  as  Perl
       itself.

Methods

Name

       HTML::FormFu::Validator - Validator Base Class

Synopsis

Version

       version 2.07

See Also