表单模型是否应该在yii应用程序的所有表单中使用?


Should form model be used in all forms in a yii application?

在html中创建一个简单的表单标签来保存一个可以轻松编写验证的小表单,而不是创建一个表单模型来保存规则和标签,这有什么错呢?

在放弃表单模型之前考虑一下这一点。表单模型为您做了很多事情。其中有些东西需要你自己花很多精力去打造。下面是一个快速列表:

  • 它在你的应用程序中保持代码的一致性
  • 为用户维护UI一致性
  • 提供验证
  • 提供错误处理
  • 它有助于防止某些攻击,如SQL注入
  • 如果你打开CSRF标签,它可以帮助防止其他攻击
  • 客户端验证是内置的,可以通过配置来启用。Ajax功能是内置的,可以通过配置来启用。
你要放弃的东西太多了。即使是简单的形式。这些东西不仅仅是验证和HTML格式

你可以选择一个最简单的方法,它不会错。

FormModels可以帮助你组织大量的验证规则、场景等。如果创建FormModel比在控制器中编写验证需要更多的努力,那么FormModel就不是这样了。