没有DataAnnotations的MVC2 / MVC3中的验证

时间:2012-02-29 16:01:56

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

我们可以通过在同一页面(.aspx / .cshtml)中使用javascriptfunctions来验证一个文本框很少的表单,并且我想验证它们的require字段等。

我不想在模型中使用DataAnnotations。

2 个答案:

答案 0 :(得分:1)

只在客户端验证是个坏主意,而且不安全。您需要始终进行服务器端验证,并且只将客户端验证作为“很高兴”。否则,只要绕过客户端脚本,任何攻击者都可以绕过验证。

有几种方法可以在没有数据注释的情况下进行服务器(和客户端)端验证。您可以使用Metadata "buddy" classes并将属性应用于好友类。或者您可以使用Fluent Validation。您也可以使用IValidatableObject。你真的应该使用某种服务器端验证。

答案 1 :(得分:0)

在mvc 3中,使用Model DataAnnotations您可以在客户端进行javascript验证。它使用jquery validate脚本来进行验证。

  

在ASP.NET MVC 3 Beta中,我们更新了运行时以启用功能   我们称之为“不引人注目的客户端验证”。我们还创建了一个   消费者使用这些不显眼的客户端验证属性   jQuery和jQuery Validate代表我们执行验证。

http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

您不应该仅依赖客户端验证。同时做客户端和服务器端。如果有人从禁用javascript的浏览器访问您的网站该怎么办?