我有一个包含动态(用户创建)数量的输入字段的表单,其中一些需要进行验证。输入字段的数量很可能会达到数万,因此当我单击提交时,如果创建了大量字段, 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
只会阻止插件不必要地重新检查并重新标记已标记的输入,而还在运行我的处理程序。我如何实现这一目标?