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表单就永远不能提交了。

相关推荐