@romicohen
WebDev

Где в Laravel лучше делать валидацию входящих данных — в контроллере или сделать кастомный Request для контроллера, или Middleware?

сабж :)

Какой подход будет самый лучший с точки зрения ООП и всего такого прочего?

Или вынести в отдельный сервис-класс?

Или что-то еще?

Как правильно?
  • Вопрос задан
  • 281 просмотр
Решения вопроса 4
@jazzus
Валидация это обычно что? Простыня) Поэтому свой Form Request. Написать php artisan make:request и потом импортировать в ide это буквально секунды времени. Зато в этом классе ты можешь кучу всего делать. Например prepareForValidation, сообщения, логику со своими правилами и все это будет в одном месте. Запихивать валидацию в middleware или в свои классы в Ларавел - это извращение.
Ответ написан
Комментировать
@Mellorn
Не нужно для этого городить никакие сервисы и прочее.
В ларе есть такая замечательная штука, как form requests. Вот там и нужно валидировать поступающие от клиента данные.
Ответ написан
Комментировать
@lavren
Сделать так как быстрее. Понадобится переиспользовать вынесешь в отдельный. Все остальное - пустое и трата времени. Имхо Middleware вообще не то место.
Ответ написан
Комментировать
New_Horizons
@New_Horizons
Бред:
Ну тут по ситуации. Если просто какой-то один абстрактный урл с небольшим количеством входных данных, то прямо в контроллере вполне ок. В Middleware можно пихнуть, если например у тебя несколько роутов с одинаковым набором параметров и валидацией для них.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Fockker
@Fockker
Потомок старинного рода Ипатьевых-Колотитьевых
Вообще-то в Ларе УЖЕ есть этот самый отдельный сервис - Illuminate\Http\Request, который и предназначен для валидации входящих данных.
Ответ написан
@NubasLol
Неплохая заметка о валидации

https://github.com/adelf/acwa_book_ru/blob/master/...
Ответ написан
Ваш ответ на вопрос

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

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