【发布时间】:2020-12-25 18:52:55
【问题描述】:
我希望 purchaser_first_name 和 purchaser_last_name 仅在请求中的 gift 输入值为 true 且已验证输入的值为 false 时才需要。
到目前为止我所尝试的:
public function rules()
{
return [
'gift' => 'required',
'authenticated'=>required,
'purchaser_first_name' => 'required_if:gift,true,required_if:authenticated,false',
'purchaser_last_name' => 'required_if:gift,true,required_if:authenticated,false',
];
}
这种方法结果是使用 OR 运算符而不是我想要 AND 运算符。
【问题讨论】:
-
你没有在那里应用两个
required_ifs,你只使用一个......你必须使用|来区分你正在使用另一个required_if接受一个变量参数数量 -
这解决了一半的问题,因为还有其他的场景。例如,当身份验证为真时,不应应用该规则。您建议的方式即使在身份验证为假的情况下验证器也会触发
-
我不是建议你做任何事情,我是在修复你对规则语法的错误使用,祝你好运
-
@PetroBianka 你检查我的解决方案了吗?还是我应该删除它?
-
@mare96 我刚刚将其标记为已接受的答案。
标签: php laravel laravel-validation