ASP.NET MVC - 用于客户端验证的DataAnnotations

时间:2009-10-22 19:36:13

标签: asp.net asp.net-mvc validation data-annotations

如果使用Data Annotations的ASP.NET MVC应用程序......

<%= Html.ValidationSummary("Things broke...") %>
<% Html.EnableClientValidation(); %> 

我们发布到服务器。我们是否仍然会执行操作,检查ModelState.IsValid并返回原始视图并显示验证错误。如果我们点击服务器(通过帖子),它仍然被认为是客户端验证吗?

3 个答案:

答案 0 :(得分:3)

不,您刚才所说的不被视为客户端验证。

客户端验证被认为是在浏览器(客户端)中验证表单的任何内容,通常使用JavaScript。将帖子发送到服务器(ASP.net)后,您就处于服务器端验证模式。

我相信你真正想问的是新的asp.net mvc 2.0验证是否是客户端。

EnableClientValidation 使您的数据注释模型能够使用jquery validate插件进行真正的客户端验证。它不应该回发到服务器进行验证,但是当它回发时它也可能在服务器上验证,因为客户端验证不是100%可靠。

答案 1 :(得分:1)

是的,这将是服务器端验证。如果您在客户端进行验证并避免在任何字段无效时发布表单,那么它就是客户端验证。

答案 2 :(得分:1)

如果您添加这些库,它将负责客户端验证。

<script type="text/javascript" src="MicrosoftAjax.js"></script>
<script type="text/javascript" src="MicrosofMVCValidation.js"></script>

这些库将生成用于验证的JavaScript代码。 但为此,您需要使用Dataannotations

这是关于它的example