jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
2010-11-24 14:16
916 查看
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;
},
添加上掉绿字的那段,就不会不验证了。
这是这个插件犯的一个很愚蠢的错误
代码
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;
},
添加上掉绿字的那段,就不会不验证了。
相关文章推荐
- (转)jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
- jquery-validate插件之resetForm方法清除历史错误提示信息
- jquery.form.js的ajax提交,CKEditor编辑器内容丢失问题的解决方法!
- FireFox中使用JQuery的ajaxfileupload插件返回JSON格式数据提示保存的解决方法。
- jqueryFormvalidator Ajax修改数据验证是否存在
- jQuery formValidator表单验证插件常见问题
- 解决jQuery上传插件Uploadify出现Http Error 302错误的方法
- jQuery 表单验证插件formValidation实现个性化错误提示
- MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- jQuery formValidator表单验证插件
- jQuery formValidator表单验证插件3.2ver发布
- jQuery formValidator表单验证插件开源了!!含API帮助、源码、示例
- vs2015启动网站调试提示 HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容。 解决方法
- 关于jquery formValidator表单验证插件的使用
- EasyUI form ajax submit后,在IE下提示下载内容的解决办法
- 使用jquery 的ajax调用总是错误亲测的解决方法
- jQuery表单验证插件formValidation实现个性化错误提示(超实用)