jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法

  query formValidator插件非常好用,但是有一个严重的Bug,在使用ajax验证的时候,如果输入框的内容已经存在,把鼠标放到输入框,不做任何修改再离开,则会提示错误, 这是这个插件犯的一个很愚蠢的错误

  

复制代码 代码如下:

  oneIsValid: function(id, index) {

  var returnObj = new Object();

  returnObj.id = id;

  returnObj.ajax = -1;

  returnObj.errormsg = ""; //自定义错误信息

  var elem = $("#" + id).get(0);

  var settings = elem.settings;

  var settingslen = settings.length;

  //只有一个formValidator的时候不检验

  if (settingslen == 1) { settings[0].bind = false; }

  if (!settings[0].bind) { return null; }

  for (var i = 0; i < settingslen; i++) {

  if (i == 0) {

  if ($.formValidator.isEmpty(id)) {

  returnObj.isvalid = true;

  returnObj.setting = settings[0];

  break;

  }

  continue;

  }

  returnObj.setting = settings[i];

  if (settings[i].validatetype != "AjaxValidator") {

  $.formValidator.triggerValidate(returnObj);

  } else {

  returnObj.ajax = i;

  settings[i].isvalid = true;

  }

  if (!settings[i].isvalid) {

  returnObj.isvalid = false;

  returnObj.setting = settings[i];

  break;

  } else {

  returnObj.isvalid = true;

  returnObj.setting = settings[0];

  if (settings[i].validatetype == "AjaxValidator") break;

  }

  }

  return returnObj;

  },