这是jquery.validate
的js代码。只是定义了一个自定义操作以检查电子邮件ID是否已存在于DB中。
如果数据库中存在电子邮件,则呈现错误消息,否则屏幕上不会显示错误消息。
$.validator.addMethod("emailUnique", function (value, element) {
$.ajax({
type: "post",
url: '/is_email_registered',
data: "email="+value,
success: function(data)
{
if(data.message == 'false'){ //means this Email does not exists.
$.validator.messages.emailUnique = '';
return true;
}
else{
console.log("oops I am going in else ! ");
}
},
error: function(xhr){
var errors = $.parseJSON(xhr.responseText).errors
console.log(errors);
}
});
},'Email ID already registered with us.');
这是我使用此方法的地方:
email: {
required: true,
email: true,
emailUnique: true,
maxlength: 50
}
通过记录数据值来检查响应,但问题是无论是否注册了电子邮件ID,它都不会显示错误消息。
我期望的是,如果自定义验证返回true
,则不应该有任何错误标签。