传统验证框架的弊端: 大多的验证框架验证决定是否提交,对于非必填字段 需要验证 但是不一定要填写,这就暴漏了大多数验证框架的弊端。
不过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那些破事儿之我的高性能:epoll详解 #### 引言 在深入探讨Linux系统中的高并发与高性能特质之前,让我们简要回顾一下作者在文章开篇引用台湾作家林清玄的一段话,以此来引入对Linux系统性能优化主题的...
### Linux高性能探索:Epoll详解 #### 一、引言 在探讨Linux系统中的高性能特性时,台湾作家林清玄的写作生涯比喻提供了一个有趣的视角。他将其写作历程分为三个阶段:才华横溢的初试啼声、逐渐成熟并学会与周遭...
jquery的基础知识运用, jquery表单验证实例,深入了解
在“多线程的那点破事儿”这一主题中,我们将深入探讨多线程的核心概念、应用场景以及可能遇到的问题。 首先,我们需要理解什么是线程。线程是操作系统分配处理器时间的基本单元,一个进程可以包含一个或多个线程。...
简单的图解: 转化 响应客户端 Jsp页面 ----- Tomcat中-----> Servlet -------->
此外,还需要引入`maven-compiler-plugin`插件来指定Java编译版本。 ```xml <groupId>junit <artifactId>junit <version>4.12 <scope>test <groupId>org.mybatis <artifactId>mybatis <version>3.2.2...
Socket基础运用,搭建web服务,通过Socket搭建Web服务器
Oracle 数据库基础及应用实训代码与截图 Oracle 数据库基础及应用实训代码与截图是 Oracle 数据库的基础知识和实践操作的集合,涵盖了 Oracle 数据库的基本操作、数据约束、数据操作、模块化编程、触发器和数据库的...
软件设计师,视屏教学,真题word集合,软件设计师,视屏教学,真题word集合
SSM框架整合+火车票查询系统 SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,搭建的一个简单的火车票查询系统。该系统主要使用SSM框架集进行开发,使用Maven进行依赖管理,实现了火车票查询系统的...
### SpringMVC基础知识点详解 #### 一、SpringMVC概述 SpringMVC是一个轻量级的MVC框架,主要用于构建Web应用程序中的表现层。它遵循Model-View-Controller(模型-视图-控制器)的设计模式,使得业务逻辑、用户界面...
SSM框架整合是Java开发中的常见实践,它结合了Spring、SpringMVC和MyBatis三个强大的开源框架,为Web应用程序提供了一套高效且灵活的解决方案。以下是对这些框架及其整合方式的详细解释: 1. **Spring框架**:...
json知识运用,fastjson进行封装,通过fastJSON封装JSON
统一建模UML实现收款机管理系统建模,UML基础知识的练习小项目
软件设计师,视屏集合,真题和真题分析软件设计师,视屏集合,真题和真题分析