Carl Franks > HTML-FormFu > HTML::FormFu::Validator

Download:
HTML-FormFu-2.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  12
Open  4
Stalled  1
View/Report Bugs
Module Version: 2.01   Source  

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 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;
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.

syntax highlighting: