Выбор ответа Junior Laravel: контейнер и очереди обновлено

Валидация запросов

Вопрос

Где в Laravel принято валидировать входные данные формы создания заказа?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В классе FormRequest с rules() и authorize(). FormRequest автоматически внедряется в метод контроллера, проверяет права и правила до вызова метода и при ошибке возвращает 422 (для JSON) или редирект с ошибками.

Варианты ответа

  1. В модели в методе save() перед записью в базу данных
  2. В классе FormRequest с rules() и authorize()правильный ответ
  3. В Blade-шаблоне формы через директиву @error
  4. В миграции через ограничения колонок таблицы

Разбор

FormRequest автоматически внедряется в метод контроллера, проверяет права и правила до вызова метода и при ошибке возвращает 422 (для JSON) или редирект с ошибками. В контроллере используется $request->validated(). Ограничения базы нужны как последняя линия защиты, но не заменяют валидацию с понятными сообщениями.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.