Mojolicious::Validator::Validation-执行验证
使用Mojolicious::Validator;使用Mojolicious::Validator::Valid;my$validator=Mojolicious::validator->new;my$v=Mojolicious::Validator::Valdation->new(Validator=>$Validator);$v->input({foo=>'bar'});$v->必需('fo')->in('bar','baz');说$v->param('foo');
Mojolicious::Validator::Validation执行Mojolicious::验证器验证检查。
Mojolicious::Validator::Validation实现以下属性。
我的$token=$v->csrf_token;$v=$v->csrf_token('fa6a08…');
CSRF令牌。
我的$input=$v->输入;$v=$v->input({foo=>'bar',baz=>[123,'yada']});
待验证数据。
我的$output=$v->output;$v=$v->输出({foo=>“bar”,baz=>[123,“yada”]});
已验证数据。
my$topic=$v->topic;$v=$v->主题('fo');
当前正在验证的字段的名称。
我的$v=$v->验证器;$v=$v->validator(Mojolicious::validator->new);
Mojolicious::验证器此验证所属的对象。
Mojolicious::Validator::Validation从继承所有方法Mojo::基础并实现了以下新功能。
$v=$v->检查(“尺寸”,2,7);
对当前的所有值执行验证检查“主题”,第一次失败后将不再对其进行检查。所有支票来自Mojolicious::Validator中的“CHECKS”支持。
$v=$v->csrf_protect;
验证csrf_标记
并防止跨站点请求伪造。
我的$err=$v->错误('foo');$v=$v->错误(foo=>['custom_check']);$v=$v->错误(foo=>[$check,$result,@args]);
获取或设置验证检查失败的详细信息,在任何给定时间每个字段只能有一个。
#验证失败的详细信息my($check,$result,@args)=@{$v->error('foo')};#强制字段验证失败而不执行检查$v->错误(foo=>['some_made_up_check_name']);
my$values=$v->every_param;my$values=$v->every_param('foo');
类似“参数”,但返回与数组引用同名的所有值。
#获取第一个值我的$第一个=$v->every_param('foo')->[0];
我的$names=$v->失败;
返回一个数组引用,其中包含验证失败的值的所有名称。
#失败的所有值的名称表示@{$v->failed};
我的$bool=$v->has_data;
检查是否“输入”可用于验证。
我的$bool=$v->has_error;我的$bool=$v->has_error('foo');
检查验证是否导致错误,默认为检查所有字段。
我的$bool=$v->是有效的;我的$bool=$v->is_valid('foo');
检查验证是否成功,字段是否有值,默认为检查当前“主题”.
$v=$v->可选('foo');$v=$v->可选('foo',@filters);
更改验证“主题”并应用过滤器。所有筛选器来自Mojolicious::Validator中的“FILTERS”支持。
#微调值和检查尺寸$v->可选(“用户”,“修剪”)->尺寸(1,15);
我的$value=$v->param;my$value=$v->param('foo');
访问已验证的值,默认为当前值“主题”。如果有多个值共享相同的名称,并且您希望访问不止一个值,则可以使用“every_param”.
#立即获得价值my$user=$v->optional('user')->size(1,15)->param;
我的$names=$v->通过了;
返回一个数组引用,其中包含通过验证的值的所有名称。
#传递的所有值的名称比如@{$v->passed};
$v=需要$v->(“oo”);$v=需要$v->('foo',@filters);
更改验证“主题”,应用筛选器,并确保存在值。所有筛选器来自Mojolicuis::Validator中的“FILTERS”支持。
#微调值和检查尺寸$v->需要(“用户”,“修剪”)->尺寸(1,15);
除了“属性”和“方法”上面,您还可以调用提供的验证检查“验证器”在Mojolicious::Validator::Validation对象,类似于“检查”.
#呼叫验证检查$v->必需(“oo”)->大小(2,5)->类似(qr/^[A-Z]/);$v->可选('bar')->等于to('fo');$v->可选('baz')->in('test','123');#较长版本$v->需要('foo')->检查('size',2,5)->检查['like',qr/^[A-Z]/);
莫乔利奇,Mojolicious::指南,https://mojolicious.org.