jQuery验证插件和ASP.NET验证程序Web表单

jQuery验证插件和ASP.NET验证程序Web表单,asp.net,jquery,Asp.net,Jquery,我很想在我的ASP.NET Web表单应用程序(不是MVC)中使用 我重视jQuery验证,因为我可以为最终用户提供更丰富的UI体验,并且我有一些使用红边框(css)突出显示无效字段的要求 我重视asp.net验证程序,因为它们不仅在客户端上运行验证,而且在服务器上运行验证,这样我就不会向任何聪明到可以在浏览器中关闭javascript的用户打开各种安全漏洞 因此,我正在寻找一种很好的、干净的方法来集成这两种技术 我能想到的最好办法是将所有ASP.NET验证程序设置为enableclientsc

我很想在我的ASP.NET Web表单应用程序(不是MVC)中使用

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

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

因此,我正在寻找一种很好的、干净的方法来集成这两种技术

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

最后,我发现使用asp.net验证器和jquery实现高亮显示的最简单的方法不是使用jquery验证插件,而是使用下面的jquery的简单行(请注意,确切的语法将根据表单的布局而有所不同):


$(“输入[@type=submit]”。单击(函数(){
$('span.validationerror:hidden').parent().parent().find('input').removeClass('inputError');
$('span.validationerror:visible').parent().parent().find('input').addClass('inputError');
});

如果您对验证持认真态度,我会研究类似Peter Blum的验证器()的东西,因为它们应该能够完成您想要的任何事情,甚至更多。他们不使用JQuery,但请记住JQuery的全部目的是为了节省开发人员的时间——如果总体效果相同,最终用户不知道或不关心您是否在使用JQuery。

这可能会有所帮助


您可以毫无问题地同时使用asp.net和jquery验证程序。。。即使在同一个控件上。。。您只需要为控件设置CssClass,以便jquery可以找到它。。。然后将
OnClientClick=“return$('#aspnetForm').valid();“
添加到您的
提交按钮


请确保包含常用的jquery库和jquery.validate.js,并添加一个文档准备功能,当然等等。

这个答案有一个死链接。我想这可能是最初的链接。。。
<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>