覆盖jqueryvalidation插件中的函数
我正在使用jquery表单validation插件来validation长表单。 如果用户提交的表单包含多个无法validation的字段,则光标将返回到未通过的最后一个字段。 相反,我希望将光标返回到validation失败的表单中的第一个字段。 而不是修改插件,我想覆盖focusInvalid,它嵌套在“prototype:{…}”中:
focusInvalid: function() { if( this.settings.focusInvalid ) { try { $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus(); } catch(e) { // ignore IE throwing errors when focusing hidden elements } } },
我已经尝试在下面添加我自己的focusInvalid版本,但我无法让它工作:
$("form#user-register").validate({. . .});
有什么指针吗?
您可以使用focusInvalid
选项禁用第一个无效输入的选择。 然后,您可以使用invalidHandler
选项设置选择表单中第一个元素的自定义函数。 invalidHandler
选项是插件在提交无效表单时调用的函数。
示例如下:
$("form#user-register").validate({ invalidHandler: function(form, validator){ $(validator.invalidElements()[0]).focus(); }, focusInvalid:false });