如何解决Laravel 验证:在不需要字段时排除大小检查
我在 Laravel 应用程序中进行了验证,但似乎无法使其工作。
我正在对 Supplier
模型进行验证而不是请求。
public function requestOpening(Supplier $supplier)
{
$validator = Validator::make($supplier->toArray(),$this->fullValidationRules());
if ($validator->fails()) {
return redirect("open-new/supplier/{$supplier->id}")
->withErrors($validator);
}
// ...
}
我希望只有在 hfm_code
时才需要 is_hfm == 1
。我两个都试过:
'hfm_code' => 'size:6|exclude_if:is_hfm,0',
和
'hfm_code' => 'size:6|required_if:is_hfm,1',
在这两种情况下,我都收到验证错误:
hfm 代码必须为 6 个字符。
如何在 is_hfm == 0
时忽略大小检查?
解决方法
这里的顺序似乎很重要:
'hfm_code' => 'exclude_if:is_hfm,0|size:6'
应该可以。我认为这是因为它会按顺序评估规则,如果 exclude_if
通过
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。