@E6APB

В чем смысл bail в Laravel?

В валидаторе Ларавела есть правило bail.

Вот как описывается в документации:


Иногда надо остановить выполнение правил проверки ввода для атрибута после первой ошибки. Для этого назначьте на атрибут правило bail:

$this->validate($request, [
    'title' => 'bail|required|unique:posts|max:255',
    'body' => 'required',
  ]);


Если правило required на атрибуте title не выполнится, то правило unique не будет проверяться. Правила будут проверены в порядке их назначения.


Но без bail ведь делается тоже самое! Если правило не выполняются, следующие тоже не проверяются. Зачем нужен bail?
  • Вопрос задан
  • 2530 просмотров
Решения вопроса 1
v_decadence
@v_decadence
Это в случае с required не проверяются, если поле не задано. Иначе проверяются все правила. bail позволяет остановиться на первом провале. В документации не очень удачный пример, похоже.

Например, если поле заполнено, то проверяется уникальность. Если есть bail, то max не будет проверяться в случае провала уникальности. Иначе будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Чтобы не получать по 5 ошибок на каждое поле одновременно.
В плане дизайна это убого.

Но в плане юзабильности бесит когда по одной ошибке пишут, а ты не знаешь какие там еще надо соблюдать правила, и отправляешь форму по 50 раз, чтобы все ошибки пройти. Вот bail про это.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы