我试图覆盖' required'的功能。和' minlength'验证器由jQuery Validator插件提供。以下是我的代码:
jQuery(".form-cls").validate({
errorElement: "span",
errorClass: "error-msg",
rules: {
email:{
required:true,
email:true,
alreadyExistEmail: true
},
user_email:{
required:true,
email:true
},
password:{
required: function (element) {
return checkIfPasswordIsRequired();
},
minlength: function (element) {
return passwordLengthCheck(element);
}
}
}
});
function checkIfPasswordIsRequired()
{
if(jQuery("#facebook_id").length > 0 || jQuery("#linkedin_id").length > 0 || jQuery("#xing_id").length > 0) {
if(jQuery("#facebook_id").val() != "" || jQuery("#linkedin_id").val() != "" || jQuery("#xing_id").val() != "") {
return false;
}
}
return true;
}
function passwordLengthCheck(element)
{
if(element.value.length < 6)
{
return false;
}
else
{
return true;
}
}
现在,第一次检查密码字段工作正常,需要&#39;但第二次检查无效。如果已经检查了我的console.log(element.value.length),并且每次更改/更改值时它都会在password字段中给出值的长度,但是根据函数passwordLengthCheck中的条件,它永远不会显示/显示错误。请帮助!!
答案 0 :(得分:1)
要检查字段长度,只需将minlength
属性添加到<input>
标记,例如
<input id="pw" name="pw" minlength="6" type="password">
要添加一些自定义验证,请使用addMethod()
:
jQuery.validator.addMethod("func", function(value, element) {
return this.optional(element) || check expression here;
}