【发布时间】:2009-01-29 02:57:35
【问题描述】:
我真的很想在我的 ASP.NET Web 窗体应用程序(不是 MVC)中使用 jQuery Validation plugin 。
我重视 jQuery 验证以获得更丰富的 UI 体验,我可以为最终用户提供一些要求,我需要使用红色边框 (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>
【问题讨论】: