对Laravel“有时”验证工作感到困惑

问题描述 投票:0回答:2

我真的很困惑为什么会这样?当我尝试更新记录时,我已经成功添加了一条记录。它说,即使我已经传递它,该字段也是必需的。然后,当我尝试在验证中添加“有时”时。现在,它可以工作了。为什么?请赐教。谢谢!

my Test Model

This was the result when I tried to remove "sometimes"

laravel laravel-validation
2个回答
0
投票

根据文档sometimes用于:

存在时进行验证在某些情况下,您可能希望运行仅当该字段存在于输入数组。为了快速完成此任务,请将有时会的规则添加到您的规则列表:

$v = Validator::make($data, [
    'email' => 'sometimes|required|email', ]);

因此,因为请求不包含期望的字段,所以验证成功。


0
投票

添加sometimes有效地禁用了required规则,并允许客户端简单地不将该字段传递给输入。

在您的情况下,验证器可能没有从输入中接收正确的数据。因为如果这样做,required规则将正确执行。

请发布您的验证器的代码,以调试问题。

© www.soinside.com 2019 - 2024. All rights reserved.