|
NAMEValidator::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'
);
DESCRIPTIONValidator::Custom::Rule is the class to parse rule and store it as object. ATTRIBUTESrulemy $content = $rule_obj->rule; $rule_obj = $rule->rule($content); Content of rule object. METHODSeach$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.
|