问题描述
仅当请求中礼物输入的值为true且经过身份验证的输入的值为false时,才需要 purchaser_first_name 和 purchaser_last_name 。
到目前为止,我已经尝试过:
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,];
}
这种方法原来是使用OR运算符,而不是我想要AND运算符。
解决方法
您可以尝试这样:
'purchaser_first_name' => Rule::requiredIf(function () use ($request) {
return $request->input('gift') && !$request->input('authenticated');
}),
在功能中,您可以设置逻辑。我不确定您真正需要什么,但这对您来说是个好开始。
此外,请检查docs以获得更多有关此信息。
,尝试如下更改您的验证码:
return [
'gift' => 'required','authenticated'=>'required','purchaser_first_name' => 'required_if:gift,true|required_if:authenticated,false','purchaser_last_name' => 'required_if:gift,];