РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpFRInr 50 of 210 menu

Введение в Form Request в Laravel

В базовом учебнике правила писали прямо в контроллере через $request->validate([...]). Для учебной формы с двумя-тремя полями этого достаточно: всё видно в одном месте, лишних файлов нет.

На практике формы бывают длиннее. Регистрация, редактирование товара, анкета сотрудника - десяток полей и цепочки правил. Массив валидации занимает половину действия, рядом ещё сохранение в базу и редирект. Контроллер перестаёт читаться как «принять запрос и сохранить».

FormRequest - отдельный класс под одну форму или одно действие. В нём держат правила и связанную логику проверки: свои сообщения, имена полей, подготовку данных. Контроллер только указывает этот класс параметром вместо обычного Request - валидация запускается сама, до входа в тело действия.

Если проверка не прошла, пользователь вернётся назад с ошибками - как после validate. Если прошла - в контроллере уже можно брать проверенные данные и сохранять запись. Так ответственность делится: Form Request проверяет вход, контроллер делает работу приложения.

Расскажите, зачем выносить правила из контроллера.

Приведите пример формы, для которой Form Request особенно удобен.

Чем Form Request отличается от вызова validate прямо в контроллере?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить