Проверка Laravel необходимо заполнить одно из двух полей
У меня есть два поля:
Электронная почта
Как настроить объект валидатора так, чтобы одно из этих полей было заполнено? Не имеет значения, кто именно.
$messages = array(
'email.required_without:qq' => Lang::get('messages.mustenteremail'),
'email.email' => Lang::get('messages.emailinvalid'),
'qq.required_without:email' => Lang::get('messages.mustenterqq'),
);
2 ответов:
required_withoutдолжно сработать.Это означает, что поле требуется, если другого поля нет. Если у вас больше двух полей и требуется только одно, используйте
required_without_all:foo,bar,...$rules = array( 'Email' => 'required_without:QQ', 'QQ' => 'required_without:Email', );
В приведенном выше примере (приведенном lucasgeiter) вам на самом деле нужно только одно из условий, а не оба.
$rules = array( 'Email' => 'required_without:QQ' );Если у вас есть оба правила, то заполнение ни одного из них не приведет к отображению двух сообщений об ошибках. Таким образом, он будет проверять, что по крайней мере одно поле заполнено, и будет отображать только одно сообщение об ошибке, если ни одно из них не заполнено.
Comments