如果响应为false,Laravel验证器将失败



我的请求有一个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,"",

最新更新