Provided by: libmojolicious-perl_4.63+dfsg-1_all bug

NAME

       Mojolicious::Validator::Validation - Perform validations

SYNOPSIS

         use Mojolicious::Validator;
         use Mojolicious::Validator::Validation;

         my $validator = Mojolicious::Validator->new;
         my $validation
           = Mojolicious::Validator::Validation->new(validator => $validator);
         $validation->input({foo => 'bar'});
         $validation->required('foo')->in(qw(bar baz));
         say $validation->param('foo');

DESCRIPTION

       Mojolicious::Validator::Validation performs Mojolicious::Validator validation checks.

ATTRIBUTES

       Mojolicious::Validator::Validation implements the following attributes.

   csrf_token
         my $token   = $validation->token;
         $validation = $validation->token('fa6a08...');

       CSRF token.

   input
         my $input   = $validation->input;
         $validation = $validation->input({foo => 'bar', baz => [123, 'yada']});

       Data to be validated.

   output
         my $output  = $validation->output;
         $validation = $validation->output({});

       Validated data.

   topic
         my $topic   = $validation->topic;
         $validation = $validation->topic('foo');

       Name of field currently being validated.

   validator
         my $validator = $validation->validator;
         $validation   = $validation->validator(Mojolicious::Validator->new);

       Mojolicious::Validator object this validation belongs to.

METHODS

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

   check
         $validation = $validation->check('size', 2, 7);

       Perform validation check on all values of the current "topic", no more checks will be
       performed on them after the first one failed.

   csrf_protect
         $validation = $validation->csrf_protect;

       Validate "csrf_token" and protect from cross-site request forgery.

   error
         my $err     = $validation->error('foo');
         $validation = $validation->error(foo => ['custom_check']);

       Get or set details for failed validation check, at any given time there can only be one
       per field.

         my ($check, $result, @args) = @{$validation->error('foo')};

   has_data
         my $bool = $validation->has_data;

       Check if "input" is available for validation.

   has_error
         my $bool = $validation->has_error;
         my $bool = $validation->has_error('foo');

       Check if validation resulted in errors, defaults to checking all fields.

   is_valid
         my $bool = $validation->is_valid;
         my $bool = $validation->is_valid('foo');

       Check if validation was successful and field has a value, defaults to checking the current
       "topic".

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

       Change validation "topic".

   param
         my @names       = $c->param;
         my $foo         = $c->param('foo');
         my @foo         = $c->param('foo');
         my ($foo, $bar) = $c->param(['foo', 'bar']);

       Access validated parameters, similar to "param" in Mojolicious::Controller.

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

       Change validation "topic" and make sure a value is present and not an empty string.

CHECKS

       In addition to the methods above, you can also call validation checks provided by
       Mojolicious::Validator on Mojolicious::Validator::Validation objects, similar to "check".

         $validation->required('foo')->size(2, 5)->like(qr/^[A-Z]/);
         $validation->optional('bar')->equal_to('foo');
         $validation->optional('baz')->in(qw(test 123));

SEE ALSO

       Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.