Mojolicious::Validator::Validation - Perform validations
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');
Mojolicious::Validator::Validation performs Mojolicious::Validator validation checks.
Mojolicious::Validator::Validation implements the following attributes.
my $token = $validation->csrf_token; $validation = $validation->csrf_token('fa6a08...');
CSRF token.
my $input = $validation->input; $validation = $validation->input({foo => 'bar', baz => [123, 'yada']});
Data to be validated.
my $output = $validation->output; $validation = $validation->output({});
Validated data.
my $topic = $validation->topic; $validation = $validation->topic('foo');
Name of field currently being validated.
my $validator = $validation->validator; $validation = $validation->validator(Mojolicious::Validator->new);
Mojolicious::Validator object this validation belongs to.
Mojolicious::Validator::Validation inherits all methods from Mojo::Base and implements the following new ones.
$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.
$validation = $validation->csrf_protect;
Validate csrf_token and protect from cross-site request forgery.
csrf_token
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.
# Details about failed validation my ($check, $result, @args) = @{$validation->error('foo')};
my $values = $validation->every_param('foo');
Similar to "param", but returns all values sharing the same name as an array reference.
# Get first value my $first = $validation->every_param('foo')->[0];
my $names = $validation->failed;
Return a list of all names for parameters that failed validation.
# Names of all parameters that failed say for @{$validation->failed};
my $bool = $validation->has_data;
Check if "input" is available for validation.
my $bool = $validation->has_error; my $bool = $validation->has_error('foo');
Check if validation resulted in errors, defaults to checking all fields.
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".
$validation = $validation->optional('foo');
Change validation "topic".
my $value = $validation->param('foo');
Access validated parameters. If there are multiple values sharing the same name, and you want to access more than just the last one, you can use "every_param".
my $names = $validation->passed;
Return a list of all names for parameters that passed validation.
# Names of all parameters that passed say for @{$validation->passed};
$validation = $validation->required('foo');
Change validation "topic" and make sure a value is present and not an empty string.
In addition to the "ATTRIBUTES" and "METHODS" above, you can also call validation checks provided by "validator" on Mojolicious::Validator::Validation objects, similar to "check".
# Call validation checks $validation->required('foo')->size(2, 5)->like(qr/^[A-Z]/); $validation->optional('bar')->equal_to('foo'); $validation->optional('baz')->in(qw(test 123)); # Longer version $validation->required('foo')->check('size', 2,5)->check('like', qr/^[A-Z]/);
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.