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'
];
Другие вопросы по тегам