More Related Content
Similar to FormValidator::LazyWay で検証ルールをまとめよう (20)
FormValidator::LazyWay で検証ルールをまとめよう
- 25. my $config = {
rules => [ 'Email', 'String' ],
setting => {
strict => {
email => {
rule => ['Email#email']
},
password => {
rule => [
{ 'String#length' => {
'min' => '4',
'max' => '12'
}
},
'String#ascii'
]
},
}
},
lang => 'ja',
labels => {
ja => {
email => ' ',
password => ' '
}
},
};
- 26. use FormValidator::LazyWay;
my $fv = FormValidator::LazyWay->new($config);
my $result = $fv->check($q, {
required => [qw/nickname email password/],
optional => [qw/message/]
});
- 27. my $result = $fv->check($q, {
required => [qw/title/],
optional => [qw/body/]
});
my $result = $fv->check($q, {
optional => [qw/title body/]
});
- 28. my $result = $fv->check($q, {
required => [qw/nickname email password/],
optional => [qw/message/]
});
if ( $result->has_error ) {
print Dumper $result->error_message;
# output
#$VAR1 = {
# 'email' => ' ',
# 'password' => ' 4 12 '
#};
}
else {
# OK!
print Dumper $result->valid;
}
- 29. setting: my $result = $fv->check( $cgi,
strict: { required => [qw/email/],
email: level => {
email => 'loose'
rule:
}
- Email#email
}
loose: );
email:
rule:
- Email#email_loose
- 31. merge:
date:
format: "%04d-%02d-%02d"
fields:
- year
- month
- day
strict:
date:
rule:
- DateTime#date
- 34. setting:
strict:
date:
filter:
- Unify#hyphen
rule:
- DateTime#date
fix:
- DateTime#format:
- '%Y-%m-%d'
- 35. my $result = $fv->check($q, {
required => [qw/nickname email password/],
optional => [qw/message/]
});
if ( $result->has_error ) {
print Dumper $res->error_message;
}
# DateTime
print $result->valid->{date};
- 36. my $result = $fv->check($q, {
required => [qw/nickname email password/],
optional => [qw/message/]
});
$result->custom_invalid(
'email_not_unique',
' '
);
if ( $res->has_error ) {
print Dumper $res->error_message;
}
- 37. my $wants_to_validate = {
nickname => 'vkgtaro',
email => 'vkg.taro@gmail.com',
password => 'mypass',
};
my $result = $fv->check($q, {
required => [qw/nickname email password/],
optional => [qw/message/],
custom_parameters => $wants_to_validate,
});
- 44. messages :
ja :
rule_message : __field__ __rule__
rule :
Email#email :
String#length : $_[min] $_[max]
- 45. messages :
ja :
rule_message : __field__ __rule__
rule :
Email#email :
String#length : $_[min] $_[max]