Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl mojolious参数验证_Perl_Mojolicious_Mojolicious Lite - Fatal编程技术网

Perl mojolious参数验证

Perl mojolious参数验证,perl,mojolicious,mojolicious-lite,Perl,Mojolicious,Mojolicious Lite,我有以下代码: get '/:foo' => sub { my $c = shift; my $v = $c->validation; my $foo = $c->param('y'); $c->render(text => "Hello from $foo.") if $v->required('y')->like(q/[A-Z]/); }; 要验证http请求上的y参数,请使用以下方法连接到上述网页: 它从1打印=>

我有以下代码:

get '/:foo' => sub {
  my $c   = shift;
  my $v = $c->validation;



   my $foo = $c->param('y');

  $c->render(text => "Hello from $foo.") if  $v->required('y')->like(q/[A-Z]/);
};
要验证http请求上的y参数,请使用以下方法连接到上述网页:

它从1打印=>你好。 甚至还有$v->required('y')->比如(q/[A-Z]/)


我的问题是什么?

mojolicous验证使用,因此大多数方法返回验证对象。默认情况下,对象是真实的,因此您的条件总是真实的

相反,您可以检查

  • ->is_valid()
    –当前主题的验证是否成功,或者
  • ->has_error()
    –是否存在任何验证错误
通过在验证对象上调用
->required('name')
->optional('name')
来引入新的验证主题。所以你可以写:

$c->render(text => "Hello from $foo.")
  if $v->required('y')->like(q/[A-Z]/)->is_valid;

$v->required('y')->like(q/[A-Z]/);
$c->render(text => "Hello from $foo.") unless $v->has_error;