当我们写
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
引擎盖下发生了哪些变化?
我希望它为我们的表单元素的事件添加功能。
当我们写
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
引擎盖下发生了哪些变化?
我希望它为我们的表单元素的事件添加功能。
参考这篇(非常好的文章):在 ASP.NET MVC 3 中的非侵入式客户端验证
相同的一些摘录:
在 MVC 3 中,我们有一个单独的标志来打开不显眼的 JavaScript 模式,它同时启用不显眼的 Ajax 和不显眼的客户端验证。为了向后兼容从 MVC 1.0 和 MVC 2 升级的项目,Unobtrusive JavaScript 模式默认关闭。但是,我们在 MVC 3 项目模板中将其打开,因此新项目将默认开始使用 unobtrusive JavaScript 支持。此外,您将需要启用客户端验证(默认情况下保持关闭)。
我们已将 JSON 替换为与 HTML 5 兼容的属性,这些属性描述了要附加到输入字段的验证器。我们还为验证消息跨度附加了一些 HTML 属性,以便它们可以与它们附加到的输入字段相关联。
<label for="FirstName">FirstName</label>
<input class="text-box single-line" data-val="true" data-val-required="The FirstName field is required." id="FirstName" name="FirstName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
简而言之,它使用 Javascript。每个元素都装饰有数据属性,指示要执行的验证类型。提交表单时,将触发 javascript 并运行所有标记为通过验证器进行验证的元素。
像往常一样,然后在服务器上再次执行相同的验证。