table of contents
        
      
      
    | Mojolicious::Validator(3) | User Contributed Perl Documentation | Mojolicious::Validator(3) | 
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>.
| 2023-10-28 | perl v5.26.1 |