GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJOLICIOUS::VALIDATOR::VALIDATION (3)

.ds Aq ’

NAME

Mojolicious::Validator::Validation - Perform validations

CONTENTS

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(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->csrf_token;
  $validation = $validation->csrf_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({foo => bar, baz => [123, yada]});



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. All checks from CHECKS in Mojolicious::Validator are supported.

    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]);
  $validation = $validation->error(foo => [$check, $result, @args]);



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



    every_param



  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];



    failed



  my $names = $validation->failed;



Return an array reference with all names for values that failed validation.



  # Names of all values that failed
  say for @{$validation->failed};



    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);
  $validation = $validation->optional(foo, filter1, filter2);



Change validation topic and apply filters. All filters from FILTERS in Mojolicious::Validator are supported.



  # Trim value and check size
  $validation->optional(user, trim)->size(1, 15);



    param



  my $value = $validation->param(foo);



Access validated values. 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.

    passed



  my $names = $validation->passed;



Return an array reference with all names for values that passed validation.



  # Names of all values that passed
  say for @{$validation->passed};



    required



  $validation = $validation->required(foo);
  $validation = $validation->required(foo, filter1, filter2);



Change validation topic, apply filters, and make sure a value is present and not an empty string. All filters from FILTERS in Mojolicious::Validator are supported.All filters from FILTERS in Mojolicious::Validator are supported.



  # Trim value and check size
  $validation->required(user, trim)->size(1, 15);



AUTOLOAD

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(test, 123);

  # Longer version
  $validation->required(foo)->check(size, 2, 5)->check(like, qr/^[A-Z]/);



SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJOLICIOUS::VALIDATOR::VALIDATION (3) 2016-03-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.