MVC: Модель или Контроллер проверяет пользовательский ввод - PullRequest
5 голосов
/ 04 октября 2010

Какую часть в MVC проверяет пользовательский ввод? Например, в системе регистрации пользователей пользователь вводит данные в представлении, где ввод пользователя очищается и проверяется для правильного ввода, например. правильный адрес электронной почты, применяя функции очистки php .. это могло произойти в контроллере или модели? и который решит, какие ошибки будут возвращены

спасибо

Ответы [ 2 ]

9 голосов
/ 04 октября 2010

Согласно классической модели MVC (графические приложения), пользовательский ввод также является моделью.Большинство фреймворков PHP следуют модели Passive-MVC или MVC-2, где это домен контроллера или помощников контроллера.Делайте то, что выглядит наиболее ремонтопригодным.

2 голосов
/ 05 октября 2010

На мой взгляд, все зависит от того, какую проверку вы хотите выполнить:
1. Если вы не хотите, чтобы поле было пустым или имело определенный формат, я сделаю эту проверку на слое вида. Именно здесь можно применить большинство регулярных выражений. Только после того, как введенные пользователем данные верны, я передам управление контроллеру для дальнейшей обработки бизнес-логики
2. Если я хочу убедиться, что пользовательский ввод (скажем, имя пользователя) уникален или нет, я выполню эту проверку на стороне контроллера и передам любую обратную связь в представление. В последнем случае контроллер может зависеть от абстракции уровня доступа к данным или уровня обслуживания или любых других помощников контроллера.
3. Еще нужно рационализировать подход к использованию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...