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

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

你可能感兴趣的:(formvalidator)