jQuery Validation插件和ASP.NET验证器Web窗体

时间:2009-01-29 02:57:36

标签: asp.net jquery

我真的很想在我的ASP.NET Web窗体应用程序(而不是MVC)中使用jQuery Validation plugin

我认为我可以为最终用户提供更丰富的UI体验的jQuery验证,并且我有一些要求使用红色边框(css)突出显示无效字段。

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

所以我正在寻找一种很好的整合这两种技术的方法。

我能想到的最好的方法是将所有ASP.NET验证器设置为enableclientscript = false,并在jQuery和服务器上重复验证规则作为asp.net验证器,但我已经看到了一些挑战这种方法。

最后,我找到了使用asp.net验证器实现突出显示的最低摩擦方式,而jquery不使用jQuery Validation插件,而是使用后面的简单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>

3 个答案:

答案 0 :(得分:3)

你可以同时使用asp.net和jquery验证器......即使在相同的控件上......你只需要为控件设置CssClass,以便jquery可以找到它......然后你添加{ {1}} OnClientClick="return $('#aspnetForm').valid();"

确保并包含通常的jquery库和jquery.validate.js并添加文档就绪函数等等。

答案 1 :(得分:2)

如果你认真对待验证,我会研究类似Peter Blum的验证器(http://www.peterblum.com/Home.aspx),因为他们应该能够做你想做的一切,甚至更多。他们不使用JQuery,但请记住,JQuery的全部意义在于节省开发人员的时间 - 如果整体效果相同,最终用户不知道或不关心您是否使用JQuery。

答案 2 :(得分:2)