我应该在asp mvc中使用不显眼的javascript而不是编写我自己的验证码吗?

时间:2013-05-07 10:38:48

标签: javascript jquery asp.net-mvc unobtrusive-javascript unobtrusive-validation

客户端验证的javascript代码已经从头开始编写,非常完美 工作。但是为了使我们的解决方案更具可扩展性并最小化线条,我们正在考虑使用内置的asp MVC支持替换我们的Javascript客户端验证,以支持不引人注目的javascript。 然而,有些情况下它特别不利。例如。我想用正则表达式验证字段。并且该字段不直接绑定到模型。但是为了实现不引人注目的javascript,我需要将它绑定到我在模型中创建的某个字段,仅用于验证(而不是在我的表单提交中使用它) 有没有办法实现验证而不将字段绑定到模型? 如果我用不引人注目的验证替换javascript代码,即使不适用于所有场景,会有什么相当大的优势?

1 个答案:

答案 0 :(得分:2)

相当大的优势:

  • 由于开发人员非常了解不引人注目的验证,因此您的代码更容易被其他人理解(以及将来您自己)。
  • 利用Html Helpers,可以自动添加验证属性。您编写的代码更少,更易读。
  • 您的验证代码很容易出错,因为它是一个开源项目,来自世界各地的人们都会介入修复错误并提高代码性能。

对解决方案中的所有模型使用不显眼。如果没有提供开箱即用的验证,则对于绑定到模型的属性,您始终可以write up your own validation function

请注意,有许多开源项目可以扩展.net验证程序属性,例如MVC FoolProof

最后,如果有未绑定到模型的属性(等待,为什么没有绑定到模型的属性?),您可以为这些属性编写自定义客户端代码。