JQuery.validate.js使用remote验证唯一性的bug
以下是源代码的一部分:
$.ajax($.extend(true,{
url:param,
mode:"abort",
port:"validate"+element.name,
dataType:"json",
data:data,
success:function(response){
validator.settings.messages[element.name].remote=previous.originalMessage;
varvalid=response===true;
if(valid){
varsubmitted=validator.formSubmitted;
validator.prepareElement(element);
validator.formSubmitted=submitted;
validator.successList.push(element);
validator.showErrors();
}else{
varerrors={};
varmessage=response||validator.defaultMessage(element,"remote");
errors[element.name]=previous.message=$.isFunction(message)?message(value):message;
validator.showErrors(errors);
}
previous.valid=valid;
validator.stopRequest(element,valid);
}
返回数据类型为“json”,既然为json,那就是key/value了,那么response===true就永远为false了,
这时form表单就永远不能提交了。