我有一个用于创建具有多个(多达一个愿望)可能答案的问题的表单。这是图片:
单个可能答案的代码:
<div class="input-group">
{{-- Checkbox for the answer --}}
<span class="input-group-addon">
<input type="checkbox" name="answer[0][is_correct]" value="1">
</span>
{{-- Input field for the answer --}}
<input type="text" class="form-control" name="answer[0][body]">
{{-- . . . --}}
</div>
我需要验证,至少存在三个问题的答案,并且至少其中一个是正确的。我怎样才能做到这一点?
答案 0 :(得分:3)
为了清楚起见,我会考虑将答案文本字段与答案复选框分开。
以下内容尚未经过测试 - 但以下内容应该会对您有所帮助吗?
$numAnswers = count($input->only('answers_text'));
$rules = [
'answers_checked' => 'array|min:1|max:' . $numAnswers,
'answers_text' => 'array|min:3|required',
'answers_text.*' => 'required|string',
];
$v = Validator::make($input, $rules);
if ($v->fails()) {
return response()->json($v->errors(), 422);
}
...