Валидация в контроллере и распределение ролей в MVC? Почитал несколько похожих вопросов, например Как и где правильно осуществлять валидацию данных в MVC? пишут что валидацией должен заниматься контроллер. Это понятно если валидировать нужно относительную простую информацию типа URL или IP и то если таких проверок много не множить же их в каждом контроллере... Напрашивается вынос в отдельный класс, назовём его Validator и просто подключение его нужных методов в контроллере.
1) К какому типу тогда будет относиться сам класс Validator? Model, Controller или что-то типа Хелпера или Middleware?
2) В системе запрашивают страницу редактирования сотрудника вида domain.com/employer/edit/123 срабатывает класс employer метод edit. Где надо проверить само существование сотрудника № 123? Я сейчас проверяю в модели, т.е. в классе employer методе edit в самом начале. Вроде бы надо вынести в контроллер, но для такой проверки нужна работа с БД, а работа контроллера чисто разруливать запросы. На ум идёт так же только создание класса Validator который с БД будет работать но он сам по себе уже полноценной моделью по сути будет.

21 Авг 2019 в 07:01
212 +1
0
Ответы
1

1) Класс Validator будет относиться скорее к типу Helper или Middleware. Он будет отвечать за валидацию данных перед их обработкой и может быть использован в разных частях приложения.

2) Для проверки существования сотрудника № 123 перед редактированием его данных можно использовать модель сотрудника. Контроллер может обратиться к модели, чтобы проверить существование сотрудника с указанным идентификатором в базе данных. Модель будет отвечать за взаимодействие с базой данных и проверку существования записи. Поэтому такая проверка логично выносится в модель. Класс Validator, который работает с базой данных, может быть избыточным для данной задачи.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир