gpt4 book ai didi

perl - Mojolicious 参数验证

转载 作者:行者123 更新时间:2023-12-02 08:07:45 25 4
gpt4 key购买 nike

我有以下代码:

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 参数,我使用以下方式连接到上述网页:http://myserver:3000?x=2&y=1

它打印 Hello from 1. 即使有 $v->required('y')->like(q/[A-Z]/);

这可能是我的问题?

最佳答案

Mojolicious 验证使用 a fluent interface ,所以大多数方法都返回验证对象。对象默认为真,因此您的条件始终为真。

相反,您可以检查

  • ->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;

关于perl - Mojolicious 参数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49847290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com