传统验证框架的弊端: 大多的验证框架验证决定是否提交,对于非必填字段 需要验证 但是不一定要填写,这就暴漏了大多数验证框架的弊端。
不过jquery还提供了一种只验证是否通过的方法pageIsValid。
但是实际运用中发现jquery formValdator的pageIsValid验证有问题,所有的验证字段都通过了,但是无法提交,对于一个form 可以,但是对于多个form的同时提交就出现问题了,所以修改验证方法,添加pageIsValid2 方法。返回数字的话就不会出现像return true,return false各种奇形怪状的问题, pageIsValid函数不能验证多个form 里面都写死了 group。
这里只验证各个字段是否通过验证,并不提交。
//多个Group,验证所有需要验证的对象,并返回是否验证成功。
pageIsValid2 : function (validatorgroup)
{// 0 验证不通过 1 验证通过
var iValid = 1;
if(validatorgroup == null || validatorgroup == undefined){validatorgroup = "1"};
var isvalid = true;
var thefirstid = "",thefirsterrmsg;
var returnObj,setting;
var error_tip = "^";
var initConfig = $.formValidator.getInitConfig(validatorgroup);
var jqObjs = $(initConfig.validobjectids);
jqObjs.each(function(i,elem){
if(elem.settings[0].bind){
returnObj = $.formValidator.oneIsValid(elem.id,1);
if(returnObj!=null){
if(returnObj.isvalid==false){
iValid = 0;
}
}
}
/////
if(returnObj)
{
var tipid = elem.settings[0].tipid;
//校验失败,获取第一个发生错误的信息和ID 表单下的错误信息提示
if (!returnObj.isvalid) {
isvalid = false;
if (thefirstid == ""){
thefirstid = returnObj.id;
thefirsterrmsg = (returnObj.errormsg==""?returnObj.setting.onerror:returnObj.errormsg)
}
}
//为了解决使用同个TIP提示问题:后面的成功或失败都不覆盖前面的失败
if (!initConfig.alertmessage){
if (error_tip.indexOf("^" + tipid + "^") == -1) {
if (!returnObj.isvalid) {
error_tip = error_tip + tipid + "^";
}
$.formValidator.showMessage(returnObj);
}
}
}
if(!isvalid)
{ // 弹出第一个错误提示信息
var obj = $("#"+thefirstid).get(0);
initConfig.onerror(thefirsterrmsg,obj);
if(thefirstid!="" && initConfig.errorfocus){$("#"+thefirstid).focus();}
}
////// 只验证 不提交
});
return iValid;
},
分享到:
相关推荐
Linux 那些破事儿之我的高性能
台湾作家林清玄在接受记者采访的时候,如此评价自己30多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色;第二个十年,我终于‘宝光现形’,不再去抢风头,反而与身边的美丽相得益彰;...
jquery的基础知识运用, jquery表单验证实例,深入了解
简单的图解: 转化 响应客户端 Jsp页面 ----- Tomcat中-----> Servlet -------->
温馨提示: 大家肯定是遇到了这方面的问题才上网查资料的,你在看下面解释的时候, 最好结合你正遇到的问题 。这样有助于你解决自己遇到的问题。
Oracle数据库基础及应用实训代码与截图,包括Oracle数据库的基本操作。
SpringMVC是一个前台的控制框架,与前台进行数据交互并且能做到自动封装等等
MyBatis 的前身就是 iBatis 。是一个数据持久层(ORM)框架。
Socket基础运用,搭建web服务,通过Socket搭建Web服务器
统一建模UML实现收款机管理系统建模,UML基础知识的练习小项目
json知识运用,fastjson进行封装,通过fastJSON封装JSON
SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,搭建的一个简单的火车票查询系统
软件设计师,视屏教学,真题word集合,软件设计师,视屏教学,真题word集合
SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成的
软件设计师,视屏集合,真题和真题分析软件设计师,视屏集合,真题和真题分析