HTML::FormFu::Validator.3pm

Langue: en

Autres versions - même langue

Version: 2009-03-17 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

HTML::FormFu::Validator - Validator Base Class

SYNOPSIS

DESCRIPTION

METHODS

CORE VALIDATORS

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 strict;
     use warnings;
     use base '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;
 
 
HTML::FormFu::Validator::Callback

AUTHOR

Carl Franks, "cfranks@cpan.org"

LICENSE

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