MVC:模型或控制器是否验证用户输入

时间:2010-10-04 02:29:07

标签: php model-view-controller

MVC中哪些部分用户输入得到验证?例如,用户注册系统,用户在视图中输入数据,用户的输入在何处被清除并验证以获得正确的输入,例如。正确的电子邮件,应用PHP清理功能..这会发生在控制器或模型?哪个会决定返回什么错误

感谢

2 个答案:

答案 0 :(得分:9)

根据经典的MVC模型(图形应用程序),用户输入也是一个模型。大多数PHP框架都遵循Passive-MVC或MVC-2模型,它是控制器或控制器助手的领域。做一些看起来最易维护的东西。

答案 1 :(得分:2)

在我看来,这完全取决于你想要执行什么样的验证:
1.如果您不希望字段为空或具有特定格式,我将对视图图层进行检查。这是大多数正则表达式可以应用的地方。只有当用户输入有效时,才会将控制权传递给控制器​​以进行进一步的业务逻辑处理。 2.如果我想确保用户输入(例如用户名)是唯一的,我将在控制器端进行验证并将任何反馈传递回视图。在后者中,控制器可能依赖于数据访问层或服务层或任何其他控制器助手的抽象。
3.仍需要对使用方法进行合理化。