1

我一直在阅读很多关于不显眼的验证的帖子。我试图了解 Visual Studio 在空 MVC3 模板中提供的内容与包含 jquery.unobtrusive js 文件之间的区别(如果有的话)。目前,这就是我在源代码中的输入的样子

    <input class="input-validation-error" data-val="true" data-val-required="The Surname field is required." id="Surname" name="Surname" type="text" value="" />

这是不显眼的验证吗?

4

3 回答 3

2

使用data-HTML 语法中的属性,看起来您的页面已启用不显眼的客户端验证。

使用传统的客户端验证,要验证的控件的 javascript 在服务器端生成,并与响应中的 HTML 一起传递给浏览器。因此,除了 HTML 内容之外,还将嵌入内嵌脚本数据<![CDATA[ ]]>

然而,通过不显眼的客户端验证而不是发出内联 javascript,它利用 HTML5 兼容的数据属性 ASP.NET MVC 3 使用 jQuery 进行不显眼的客户端验证。data-属性将由定义在其中的 jQuery 函数进行操作jquery.unobtrusive js

默认情况下,在 ASP.NET MVC 3 中不显眼的模式是关闭的。要使用此功能,您需要同时启用客户端验证和不显眼的 javascript 验证。

这可以在 web.config 中设置

<configuration>    
  <appSettings>        
    <add key="ClientValidationEnabled" value="true"/>        
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>    
  </appSettings>
</configuration>
于 2012-05-24T02:06:04.177 回答
0

简短的回答是的,看起来您使用了不显眼的验证。要更深入地了解它是什么以及它是如何工作的,请阅读http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

于 2012-05-24T01:30:21.083 回答
0

MVC 输出 data-* 属性,如果查找这些属性,jquery 会提供实际的客户端实现。

http://completedevelopment.blogspot.com/2011/02/unobstrusive-javascript-in-mvc-3-helps.html

于 2012-05-24T01:30:52.067 回答