Несколько правил для одного поля в Laravel
Мы уже знаем два правила:
required - поле не пустое,
и email - значение похоже
на адрес почты. В прошлых уроках
вешали на каждое поле одно правило:
на title только required,
на email только email.
Для поля email этого мало:
нужно и не допустить пустоту,
и проверить формат. Два условия
задают одной строкой - правила
перечисляют через |:
<?php
$request->validate([
'title' => 'required',
'email' => 'required|email',
]);
?>
Laravel проверяет цепочку слева
направо. Для email сначала
required - поле не пустое,
затем email - корректный
формат. Если первое правило
не прошло, до второго можно
не дойти.
На title по-прежнему
одно правило - required.
Цепочка нужна, когда к одному
полю применяют несколько проверок
сразу. Другие правила раздела -
max, unique и т.д. -
подключают так же, через |.
Замените правило поля email
на цепочку required|email.
Отправьте форму с пустым email и с неверным форматом по отдельности. Посмотрите разные сообщения об ошибке.