我有一个带有复选框和文本输入的表单。
在每组复选框中,我想要验证,至少必须选中一个复选框。我做了这样的验证规则:
$validRules = [
"check1" => "required_without:check2,check3,check4,check5",
"check2" => "required_without:check1,check3,check4,check5",
"check3" => "required_without:check2,check1,check4,check5",
"check4" => "required_without:check2,check3,check1,check5",
"check5" => "required_without:check2,check3,check4,check1",
//more rules...
];
我需要实现的是仅在没有选中复选框的情况下获取错误,但如果检查了一个,两个或更多,则没有错误。
当我提交表单时,如果未全部选中,则验证会抛出验证错误。我的规则是错的还是这个错误?
答案 0 :(得分:2)
将required_without更改为required_without_all:
$validRules = [
"check1" => "required_without_all:check2,check3,check4,check5",
// the rest of your rules
];
或者,如果您使用数组作为复选框名称,例如
<input type="checkbox" name="checkbox[]" value="1">
<input type="checkbox" name="checkbox[]" value="2">
您可以通过以下方式使用其中一个:
$validRules = [
'checkbox' => 'required'
];