Provided by: libmojolicious-perl_9.22+dfsg-1_all
NAME
Mojolicious::Validator - Validate values
SYNOPSIS
use Mojolicious::Validator; my $validator = Mojolicious::Validator->new; my $v = $validator->validation; $v->input({foo => 'bar'}); $v->required('foo')->like(qr/ar$/); say $v->param('foo');
DESCRIPTION
Mojolicious::Validator validates values for Mojolicious.
CHECKS
These validation checks are available by default. equal_to $v = $v->equal_to('foo'); String value needs to be equal to the value of another field. in $v = $v->in('foo', 'bar', 'baz'); String value needs to match one of the values in the list. like $v = $v->like(qr/^[A-Z]/); String value needs to match the regular expression. num $v = $v->num; $v = $v->num(2, 5); $v = $v->num(-3, 7); $v = $v->num(2, undef); $v = $v->num(undef, 5); String value needs to be a non-fractional number (positive or negative) and if provided in the given range. size $v = $v->size(2, 5); $v = $v->size(2, undef); $v = $v->size(undef, 5); String value length or size of Mojo::Upload object in bytes needs to be between these two values. upload $v = $v->upload; Value needs to be a Mojo::Upload object, representing a file upload.
FILTERS
These filters are available by default. comma_separated $v = $v->optional('foo', 'comma_separated'); Split string of comma separated values into separate values. not_empty $v = $v->optional('foo', 'not_empty'); Remove empty string values and treat them as if they had not been submitted. trim $v = $v->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 ($v, $name, $value, @args) {...}}); Registered validation checks, by default only "equal_to", "in", "like", "num", "size" and "upload" are already defined. filters my $filters = $validator->filters; $validator = $validator->filters({trim => sub {...}}); Registered filters, by default only "comma_separated", "not_empty" and "trim" 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 ($v, $name, $value, @args) {...}); Register a validation check. $validator->add_check(foo => sub ($v, $name, $value, @args) { ... return undef; }); add_filter $validator = $validator->add_filter(trim => sub ($v, $name, $value) {...}); Register a new filter. $validator->add_filter(foo => sub ($v, $name, $value) { ... return $value; }); new my $validator = Mojolicious::Validator->new; Construct a new Mojolicious::Validator object. validation my $v = $validator->validation; Build Mojolicious::Validator::Validation object to perform validations. my $v = $validator->validation; $v->input({foo => 'bar'}); $v->required('foo')->size(1, 5); say $v->param('foo');
SEE ALSO
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.