NAME
Validator::Custom::Rule - Rule object
SYNOPSYS
use Validator::Custom;
my $vc = Validator::Custom->new;
# Create rule object
my $rule = $vc->create_rule;
$rule->require('id')->check(
'ascii'
);
$rule->optional('name')->check(
'not_blank'
);
# Validate
my $data = {id => '001', name => 'kimoto'};
my $result = $vc->validate($data, $rule);
# Option
$rule->require('id')->default(4)->copy(0)->message('Error')->check(
'not_blank'
);
DESCRIPTION
Validator::Custom::Rule is the class to parse rule and store it as object.
ATTRIBUTES
rule
my $content = $rule_obj->rule;
$rule_obj = $rule->rule($content);
Content of rule object.
METHODS
each
$rule->each(1);
Tell checke each element.
check
$rule->check('not_blank')->check('ascii');
Add constraints to current topic.
check_or
$rule->check_or('not_blank', 'ascii');
Add "or" condition constraints to current topic.
copy
$rule->copy(0);
Set copy option
default
$rule->default(0);
Set default option
filter
$rule->filter('trim');
This is check
method alias for readability.
message
$rule->require('name')
->check('not_blank')->message('should be not blank')
->check('int')->message('should be int');
Set message for each check.
Message is fallback to before check so you can write the following way.
$rule->require('name')
->check('not_blank')
->check('int')->message('should be not blank and int');
name
$rule->name('key1');
Set result key name
optional
$rule->optional('id');
Set key and set require option to 0.
require
$rule->require('id');
$rule->require(['id1', 'id2']);
Set key.
parse
$rule_obj = $rule_obj->parse($rule);
Parse rule and store it to rule
attribute.