Laravel 5.2 Validation required_without завершается неудачей на более чем 2 полях
У меня есть форма с флажками и ввода текста.
В каждой группе флажков я хочу подтверждение, что, по крайней мере, один флажок должен быть отмечен. Я сделал мои правила проверки так:
$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...
];
Чего мне нужно добиться, так это получить ТОЛЬКО ошибку, если флажок не установлен, но нет ошибки, если установлен один, два или более.
Когда я отправляю форму, проверка выдает ошибку проверки, если они не все проверены. Мои правила неверны или это ошибка?
1 ответ
Измените 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'
];