【问题标题】:MVC: Does the Model or Controller validate user inputMVC:模型或控制器是否验证用户输入
【发布时间】:2010-10-04 02:29:06
【问题描述】:

用户输入在 MVC 中的哪个部分得到验证?例如,用户注册系统,用户在 View 中输入数据,用户的输入在哪里被清理和验证是否正确输入,例如。正确的电子邮件,应用 php 清理功能..这会发生在控制器还是模型中?这将决定返回哪些错误

谢谢

【问题讨论】:

    标签: php model-view-controller


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        相关资源
        最近更新 更多