使用ASP.NET MVC3进行客户端模型级或表单级验证

Erv*_*ter 5 asp.net-mvc jquery-validate razor asp.net-mvc-3

我正在使用ASP.NET MVC3和jQuery Validate + MVC3附带的不显眼的验证支持.适用于几乎所有内容,但我有一个视图,其中有一些视图范围的验证,我需要做,我不知道如何利用作为MVC3 + Validate + Unobtrusive的一部分发生的验证事件.实际验证只需几行代码.我只是不知道在哪里插入该代码.

我想绑定到现有的验证流程,以便当标准验证发现单个字段的错误并为它们添加警告消息时,我的表单范围错误消息也将出现在验证摘要中.

PS我很清楚如何在服务器端添加适当的模型级验证(Scott刚刚在博客上发表过关于它的信息),但我觉得如果在客户端和其他服务器上进行了一些验证会很奇怪.用户可能会看到客户端验证错误,修复它们,然后尝试提交表单,然后才获取模型级验证错误消息.

Joh*_*ell -2

您应该始终在服务器上再次验证。绕过 javascript 验证确实很容易。

Web 开发规则#1:永远不要信任用户输入

  • 虽然你的回答是很好的建议,但它与问题没有任何关系。他想知道如何在整个模型中添加自定义验证(而不是询问如何进行仅 javascript 验证)。 (7认同)
  • 当然会在服务器上重新验证。这并不会使客户端验证变得毫无用处。我的声明的意思是,如果您的某些字段在客户端和服务器上都经过验证,而其他字段仅在服务器上验证,那么这是一种奇怪的用户体验。用户在客户端验证中看到需要修复的错误列表,并认为已经完成,然后在实际提交时从服务器收到其他错误。 (2认同)