在提交时禁用jquery验证,但仍然运行invalidHandler和submitHandler

时间:2015-10-02 14:31:22

标签: jquery jquery-validate

我有一个包含动态(用户创建)数量的输入字段的表单,其中一些需要进行验证。输入字段的数量很可能会达到数万,因此当我单击提交时,如果创建了大量字段, jquery validate会冻结我的浏览器几秒钟,同时检查并标记我的输入字段为无效

这很糟糕且不必要,因为我已经在创建时标记我的输入字段和keyup,然后我invalidHandler负责提醒用户然后我做了一个我在submitHandler输入的一堆东西。

我想做的是这样的事情:

$("#myForm").validate({
    onsubmit: false,
    onkeyup: function (element) {
        $(element).valid();
    },
    invalidHandler: function (event, validator) {
        //alert user, highlight invalid fields...
    },
    submitHandler: function (form) {
        //a bunch of stuff...
    }
});

但是当我尝试并点击提交时,表单会直接提交,即使它有无效字段,直接通过我的处理程序。我知道这是因为我没有在提交时验证,但我认为设置onsubmit: false只会阻止插件不必要地重新检查并重新标记已标记的输入,而还在运行我的处理程序。我如何实现这一目标?

0 个答案:

没有答案