2009-01-29 74 views
5

我真的想在我的ASP.NET Web窗体应用程序(不MVC)使用jQuery Validation pluginjQuery的验证插件和ASP.NET验证器Web窗体

我看重的更丰富的UI体验,我可以为最终用户提供jQuery验证和我有一些要求,以突出使用红色边框(CSS)的无效字段。

我重视asp.net验证程序,因为它们不仅在客户端上运行验证,而且在服务器上运行验证,因此我不会向任何足够聪明地关闭浏览器中的javascript的用户打开各种安全漏洞。

所以我要寻找一个干净的方式来整合这两种技术。

我能想到的最好的办法是让所有的ASP.NET验证器设置为enableclientscript = false,然后在客户端重复jQuery和服务器上的验证规则作为asp.net验证器,但我已经可以看到一些挑战用这种方法。

最后,我发现最低摩擦的方式来实现突出与asp.net验证和jquery不是使用jQuery验证插件,而是使用简单的jQuery的行(请注意,确切的语法将取决于你如何布置窗体):

<script type='text/javascript'> 


     $("input[@type=submit]").click(function() { 
     $('span.validationerror:hidden').parent().parent().find('input').removeClass('inputError'); 
     $('span.validationerror:visible').parent().parent().find('input').addClass('inputError');       

     }); 

</script> 

回答

2

如果你是认真的验证,我会去了解一下像彼得百隆的验证程序(http://www.peterblum.com/Home.aspx),因为它们应该能够做你想做的一切更多。他们不使用JQuery,但记住JQuery的全部重点是节省开发人员的时间 - 如果总体效果相同,最终用户不知道或不关心是否使用JQuery。

3

您可以使用asp.net和jQuery没有问题一起验证器......甚至在同一控制...你只需要设置的CssClass的控制,这样的jQuery可以找到它.. 。然后你添加OnClientClick="return $('#aspnetForm').valid();"到你的submit button(s)

一定的,包括平时的jQuery库和jquery.validate.js和添加过程的文件准备好功能等