Provided by: libmojolicious-perl_7.59+dfsg-1ubuntu1_all bug

NAME

       Mojolicious::Validator - Validate values

SYNOPSIS

         use Mojolicious::Validator;

         my $validator  = Mojolicious::Validator->new;
         my $validation = $validator->validation;
         $validation->input({foo => 'bar'});
         $validation->required('foo')->like(qr/ar$/);
         say $validation->param('foo');

DESCRIPTION

       Mojolicious::Validator validates values for Mojolicious.

CHECKS

       These validation checks are available by default.

   equal_to
         $validation = $validation->equal_to('foo');

       String value needs to be equal to the value of another field.

   in
         $validation = $validation->in('foo', 'bar', 'baz');

       String value needs to match one of the values in the list.

   like
         $validation = $validation->like(qr/^[A-Z]/);

       String value needs to match the regular expression.

   num
         $validation = $validation->num;
         $validation = $validation->num(2, 5);

       String value needs to be a non-fractional number and if provided in the given range.

   size
         $validation = $validation->size(2, 5);

       String value length or size of Mojo::Upload object in bytes needs to be between these two
       values.

   upload
         $validation = $validation->upload;

       Value needs to be a Mojo::Upload object, representing a file upload.

FILTERS

       These filters are available by default.

   trim
         $validation = $validation->optional('foo', 'trim');

       Trim whitespace characters from both ends of string value with "trim" in Mojo::Util.

ATTRIBUTES

       Mojolicious::Validator implements the following attributes.

   checks
         my $checks = $validator->checks;
         $validator = $validator->checks({size => sub {...}});

       Registered validation checks, by default only "equal_to", "in", "like", "num", "size" and
       "upload" are already defined.

METHODS

       Mojolicious::Validator inherits all methods from Mojo::Base and implements the following
       new ones.

   add_check
         $validator = $validator->add_check(size => sub {...});

       Register a validation check.

         $validator->add_check(foo => sub {
           my ($validation, $name, $value, @args) = @_;
           ...
           return undef;
         });

   add_filter
         $validator = $validator->add_filter(trim => sub {...});

       Register a new filter.

         $validator->add_filter(foo => sub {
           my ($validation, $name, $value) = @_;
           ...
           return $value;
         });

   validation
         my $validation = $validator->validation;

       Build Mojolicious::Validator::Validation object to perform validations.

         my $validation = $validator->validation;
         $validation->input({foo => 'bar'});
         $validation->required('foo')->size(1, 5);
         say $validation->param('foo');

SEE ALSO

       Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.