jQuery Validation插件:当有submitHandler处理程序时,禁用指定提交按钮的验证

时间:2010-05-12 16:10:47

标签: javascript jquery validation jquery-validate umbraco

好的,我正在使用umbraco论坛模块,在评论表单中它使用了jquery validate插件。 问题是我使用UserControl在同一页面上添加了一个搜索按钮,搜索提交按钮触发了评论表单提交验证。

我做了一些研究,并将“取消”css类添加到按钮中。这绕过了第一个验证问题,但它仍属于'submitHandler'。已阅读源代码并找到一种方法来检测搜索按钮是否触发提交。但是,没有一种很好的方法可以绕过处理程序。

我目前正在使用一种丑陋的方式来做到这一点:创建javascript错误!我想知道一个更好的方法来完成这项工作。非常感谢!

是的,我目前正在使用:

submitHandler: function (form) {

            $(form).find(':hidden').each(function () {
                var name = $(this).attr('name');
                if (name && name.indexOf('btnSearch') === name.length - 'btnSearch'.length) {
                    // this is a dirty hack to avoid the validate plugin to work for the button
                    eval("var error = 1 2 ''");
                }
            });

            // original code from umbraco ignored here....
        }

...............

这里有类似的问题: jQuery Validation plugin: disable validation for specified submit buttons (它有点不同,因为在这个中使用了submitHandler ......)

1 个答案:

答案 0 :(得分:3)

使用ignore并将选择器设置为您需要的任何选择。

$("#myform").validate({
   ignore: ".ignore"
})