(转)jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法

jquery 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;
},

 添加上掉绿字的那段,就不会不验证了。

posted @ 2011-06-28 17:15  as|as  阅读(698)  评论(0编辑  收藏  举报