我正在使用jQuery验证插件设置一个表单,我的表单将有几个步骤,所以我在每个步骤和单击NEXT按钮上验证表单。
问题是默认“ invalidHandler ”仅适用于提交,但如果点击自定义事件或任何其他按钮但是提交(在我的情况下是NEXT按钮),如何调用它?
这是我的快速代码示例:
$(function() {
$("form").validate({
invalidHandler : function(form, validator) {
var errors = validator.numberOfInvalids();
if(errors) {
alert(errors);
validator.errorList[0].element.focus();
}
},
rules : {
name : 'required'
}
});
$('#next').click(function() {
var element = $('form');
var stepIsValid = true;
$("input.text").each(function(index) {
stepIsValid = element.validate().element($(this)) && stepIsValid;
});
if(!stepIsValid) {
return false;
}
});
});
和带有NEXT按钮的表单:
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name" class="text" />
<input type="button" value="Next" id="next" />
<input type="submit" />
</form>
谢谢。
答案 0 :(得分:1)
使用.valid()
手动检查表单的状态:
$('#next').click(function() {
var element = $('form');
if (!element.valid()) {
return false;
}
});