Задать вопрос
DevartNigga
@DevartNigga
Потный

Как передать ошибку пользователю в MVC?

Пилю свой велосипед и столкнулся с задачей передать ошибку во вьюху

Имеется модель Auth с методом создания пользователя, где проверяется идентичность паролей и в случае неудачи возвращается ошибка из массива $error['passwords_are_not_equal']

Собственно вопрос: каким способом лучше передать ошибку во view, не используя костылей подобных сувания ошибки в сессию и т.п. Или все же передавать через контроллер, но при этом придется совершать в нем множество проверок, типа проверка на уникальность пользователя, пустоту полей, идентичность паролей ?
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
не использую костылей подобных сувания ошибки в сессию

это и есть единственный расово верный способ.
Использовать flash сообщения через сессию.
Ответ написан
@McBernar
Пробрасываете из модели ошибку. Именно модель работает с компонентами валидации.
Ловите ошибку в контроллере.
Рендерите эту ошибку вместе с вьюшкой.
Ответ написан
@MadridianFox
Web-программист, многостаночник
передавать через контроллер, но при этом придется совершать в нем множество проверок, типа проверка на уникальность пользователя, пустоту полей, идентичность паролей

Этим вы делаете толстый контроллер. На самом деле форма - это модель. Это страница на которой есть своя логика, и в зависимости от действий пользователя она меняет своё состояние, которое и отображается пользователю.
И вот логика формы реализуется в модели формы, которая в свою очередь может дёргать более глубокие слои приложения.
Таким образом задачей контроллера становится только получение данных из http запроса, засовывание их в модель и вызов у модели одного-двух методов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы