Provided by: libmojolicious-perl_4.63+dfsg-1_all
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>.