如何使用jQueryvalidation无效字段?

focusInvalid选项,默认情况下是true 。 但是它只在表单提交发生时才起作用。 如果我用valid方法validation表单,那么它不起作用。 所以问题是如何使用valid时集中无效字段?

请看这个演示看看不同之处。 只要按下button。

首先你需要把你的validation器保存到一个variables中,这样你可以在click处理器中使用它:

 var validator = $("#test-form").validate({ /* settings */ }); 

然后在validation处理程序中,可以从validatorvariables中手动调用focusInvalid函数:

  $("#validate").click(function() { if ($("#test-form").valid()) alert("Valid!"); else validator.focusInvalid(); return false; }); 

使用invalidHandler您可以将焦点设置为失败的第一个元素:

 $("#form").validate({ onfocusout: false, invalidHandler: function(form, validator) { var errors = validator.numberOfInvalids(); if (errors) { validator.errorList[0].element.focus(); } } });