NAME
Validator::Custom::Ext::Mojolicious - Mojolicious validator
VERSION
Version 0.0301
STATE
This module is not stable.
SYNOPSIS
use Mojolicious::Lite;
use Validator::Custom::Ext::Mojolicious;
my $validator = Validator::Custom::Ext::Mojolicious->new(
validator => 'Validator::Custom::HTMLForm',
rules => {
create => [
title => [
[{length => [0, 255]}, 'Title is too long']
],
brash => [
['not_blank', 'Select brach'],
[{'in_array' => [qw/bash cpp c-sharp/]}, 'Brash is invalid']
],
content => [
[ 'not_blank', "Input content"],
[ {length => [0, 4096]}, "Content is too long"]
]
],
index => [
# ...
]
}
);
post '/create' => sub {
my $self = shift;
# Validate
my $vresult = $validator->validate($self);
unless ($vresult->is_valid) {
# Someting
}
} => 'create'; # Route name
ATTRIBUTES
validator
$validator->validator('Validator::Custom::HTMLForm');
This class must be Validator::Custom subclass like Validator::Custom::HTMLForm.
You can also set object, not class
$validator->validator(Validator::Custom::HTMLForm->new(error_stock => 0));
rules
You can set validation rules correspond to route name.
$validator->rules({
'create' => [
title => [
[{length => [0, 255]}, 'title is too long']
],
brash => [
['not_blank', 'brash must exists'],
[{'in_array' => [qw/bash cpp/]},
'brash select is invalid']
],
content => [
[ 'not_blank', 'Content must be exists'],
[ {length => [0, 4096]}, 'Conten is too long']
]
],
'index' =>[
# ...
]
});
Validation rule is explained in Validator::Custom.
METHODS
Validator::Custom::Ext::Mojolicious inherits all methods from Object::Simple::Base and implements the following new ones.
validate
Validate received data
my $vresult = $validator->validate($c);
This method receive Mojolicious::Controller object. and validate request parameters. and return validation rusult. This result is Validator::Custom::Result object.
AUTHOR
Yuki Kimoto, <kimoto.yuki at gmail.com>
COPYRIGHT & LICENSE
Copyright 2009 Yuki Kimoto, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.