我有一个表格,用于创建一个问题,其中包含多个(任意多个)可能的答案。这是图片:
单个可能答案的代码:
<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>
我需要验证一个问题至少存在三个答案,并且其中至少有一个是正确的。我怎样才能实现这个目标?
最佳答案
为了清楚起见,我会考虑将答案文本字段与答案复选框分开。
下面的内容尚未经过测试 - 但类似下面的内容应该会对您有所帮助?
$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);
}
...
关于laravel - 如何验证至少有一个复选框被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37599293/