我正在使用验证插件来验证表单,这是我的规则
$("#creatProfileForm").validate({
ignore: [], //use for hidden fields validation, by default hidden fields are ignored
rules : {
"firstName" : {
required : true,
},
"lastName" : {
required : true,
},
"gender" : {
required : true,
},
"password" : {
required : function(element) {
if($("#isSocialSignup").val() == "true" || $("#isSocialSignup").val() == true)
return true;
},
minLength : 6
}
},
messages : {
"firstName" : {
required : 'First Name is required',
},
"lastName" : {
required: "Last Name is required",
},
"gender" : {
required : "Gender is required",
},
"password" : {
required : "Password is required",
minLength : "Lenght should be atleast 6 characters"
}
},
errorPlacement: function(error, element) { //custom location for error placement
if (element.attr("name") == "gender") {
error.insertAfter(".temp");
} else {
error.insertAfter(element);
}
}
});
更新:如果我删除回调函数并添加“required:true”,它就可以工作。
我的问题是密码字段,我在视图中存储了一个布尔值,并使用该值决定密码字段所需的值。如果值为 true,则需要密码,否则不需要。
当我提交表单时,在控制台上打印“false”,但密码字段仍然显示消息,"password is required"
我的代码有什么问题。请帮助我。提前致谢