欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-12 15:34:22
query formvalidator插件非常好用,但是有一个严重的bug,在使用ajax验证的时候,如果输入框的内容已经存在,把鼠标放到输入框,不做任何修改再离开,则会提示错误,...

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