名称

Mojoliques::验证程序::验证-执行验证

简介

使用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实现以下属性。

csrf_标记

我的$token=$v->csrf_token;$v=$v->csrf_token('fa6a08…');

CSRF令牌。

输入

我的$input=$v->input;$v=$v->input({foo=>'bar',baz=>[123,'yada']});

待验证数据。

输出

我的$output=$v->output;$v=$v->输出({foo=>“bar”,baz=>[123,“yada”]});

已验证数据。

话题

my$topic=$v->topic;$v=$v->主题('foo');

当前正在验证的字段的名称。

验证器

我的$v=$v->验证器;$v=$v->validator(Mojolicious::validator->new);

Mojolicuis::验证程序此验证所属的对象。

方法

Mojolicious::Validator::Validation从继承所有方法Mojo::基础并实现以下新功能。

检查

$v=$v->检查(“尺寸”,2,7);

对当前的所有值执行验证检查“主题”,第一次失败后,将不再对其执行更多检查。所有支票来自Mojoliques::Validator中的“CHECKS”支持。

csrf_保护

$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};

有数据(_D)

我的$bool=$v->has_data;

检查是否“输入”可用于验证。

有错误(_E)

我的$bool=$v->has_error;我的$bool=$v->has_error('foo');

检查验证是否导致错误,默认为检查所有字段。

有效(_V)

我的$bool=$v->是有效的;我的$bool=$v->is_valid('foo');

检查验证是否成功,字段是否有值,默认为检查当前“主题”.

可选择的

$v=$v->可选('fo');$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);

更改验证“主题”,应用筛选器,并确保存在值。所有筛选器来自Mojolicious::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公司,Mojolicious::指南,https://mojolicious.org.