如何启用客户端验证?

时间:2013-02-14 12:09:05

标签: asp.net-mvc validation

当我们写

 <appSettings>
      <add key="ClientValidationEnabled" value="true" />
      <add key="UnobtrusiveJavaScriptEnabled" value="true" />
 </appSettings>

引擎盖下发生了什么变化?

我希望它为表单元素的事件添加函数。

2 个答案:

答案 0 :(得分:1)

在坚果壳中,它使用Javascript。每个元素都使用指示要执行的验证类型的数据属性进行修饰。提交表单时,会触发javascript并运行通过验证程序标记为要验证的所有元素。

像往常一样,然后在服务器上再次执行相同的验证。

答案 1 :(得分:1)

参考此(非常好的文章):Unobtrusive Client Validation in ASP.NET MVC 3

来自同一地区的一些摘录:

在MVC 3中,我们有一个标志可以打开不引人注目的JavaScript模式,它可以实现不显眼的Ajax和不显眼的客户端验证。默认情况下,不显眼的JavaScript模式是为了与从MVC 1.0和MVC 2升级的项目向后兼容而关闭。但是,我们已经在MVC 3项目模板中启用了它,因此默认情况下新项目将开始使用不显眼的JavaScript支持。此外,您还需要启用客户端验证(默认情况下仍然关闭)。

我们已经用HTML 5兼容属性替换了JSON,这些属性描述了要附加到输入字段的验证器。我们还在验证消息跨度中附加了一些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>