Mojolicious::Validator

Section: User Contributed Perl Documentation (3)
Updated: 2018-11-22
Page Index
 

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(2, undef);
  $v = $v->num(undef, 5);

String value needs to be a non-fractional number and if provided in the given range.  

size

  $v = $v->size(2, 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.  

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 {...}});

Registered validation checks, by default only ``equal_to'', ``in'', ``like'', ``num'', ``size'' and ``upload'' 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 {...});

Register a validation check.

  $validator->add_check(foo => sub {
    my ($v, $name, $value, @args) = @_;
    ...
    return undef;
  });

 

add_filter

  $validator = $validator->add_filter(trim => sub {...});

Register a new filter.

  $validator->add_filter(foo => sub {
    my ($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>.


 

Index

NAME
SYNOPSIS
DESCRIPTION
CHECKS
equal_to
in
like
num
size
upload
FILTERS
trim
ATTRIBUTES
checks
METHODS
add_check
add_filter
new
validation
SEE ALSO