我有2个表格。用户必须完成第一个表格&然后可以转到第二个表单提交第一个表单后,用户转到第二个表单。用户可以返回并更改第一个表单。 对于表单的验证,使用Jquery验证器
问题是当我回到第一个表单时,即使我在第一个表单上做了一些更改,jquery验证器总是显示第一个表单有效。我可能输入错误的数据,或者将字段设为空,但第一种形式仍然有效。
我尝试了多种方法来重新触发验证器,但它似乎无法正常工作。
$("#formId").validate({
cache:false,
onsubmit: false,
focusInvalid: true,
rules: {
name1: {
required: true
},
dob:{
required: true,
date:true,
maxDob: true,
minDob: true
}
},
messages: {
name1:{
required: "Please provide Patient's Name.",
},
dob:{
required: "Please provide Patient's Date of Birth in the suggested format.",
date:"Please enter a valid date.",
maxDob:"Please enter a valid date.",
minDob:"Please enter a valid date."
}},
errorPlacement: function(error, element) {
if (element.attr("name") == "gender" ){
error.insertAfter("#message3");
}}
$('#formId').click(function() { var validator = $( "#formId" ).validate(); validator.resetForm(); console.log($("#formId").valid()); if($("#formId").valid()){ $("#formId").submit(); validator.destroy();} else console.log("show errors"); });
两者都在document.ready
中