我的请求有一个laravel验证器,该验证器被设置为required,问题是当responses[0]['answer']=false时,验证失败。我在前端有一个检查表,用户提交了true或false,所以我想把false视为实际响应,并且应该通过验证,当响应[0]['answer']=false 时,我如何允许它通过验证
{
"id": 50,
"type": "forum",
"responses": [
{
"question_id": 89,
"answer": false
},
{
"question_id": 90,
"answer": true
},
{
"question_id": 91,
"answer": "this is a input type answer"
}
]
}
这就是验证器的外观
$request->validate([
'id' => 'required',
'responses.*.question_id' => 'required',
'responses.*.answer_id' => 'required_if:responses.*.answer,""',
'responses.*.answer' => 'required_if:responses.*.answer_id,"",
]);
我确认
responses['*']['answer']
是必需的,但我想允许它,即使
responses['*']['answer'] = false
将nullable
规则添加到验证字符串:
'responses.*.answer' => 'nullable|required_if:responses.*.answer_id,"",