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 @ 2010-11-24 14:16  枫之传说  阅读(405)  评论(0编辑  收藏  举报