`
步青龙
  • 浏览: 297657 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
72ba33fb-eefe-3de1-bd65-82a6e579265d
Java面试
浏览量:0
社区版块
存档分类
最新评论

jquery formValdator 插件那些破事儿

 
阅读更多

传统验证框架的弊端: 大多的验证框架验证决定是否提交,对于非必填字段 需要验证 但是不一定要填写,这就暴漏了大多数验证框架的弊端。

不过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 那些破事儿之我的高性能

    ### Linux那些破事儿之我的高性能:epoll详解 #### 引言 在深入探讨Linux系统中的高并发与高性能特质之前,让我们简要回顾一下作者在文章开篇引用台湾作家林清玄的一段话,以此来引入对Linux系统性能优化主题的...

    Linux那些破事儿之我的高性能

    ### Linux高性能探索:Epoll详解 #### 一、引言 在探讨Linux系统中的高性能特性时,台湾作家林清玄的写作生涯比喻提供了一个有趣的视角。他将其写作历程分为三个阶段:才华横溢的初试啼声、逐渐成熟并学会与周遭...

    jquery表单验证实例

    jquery的基础知识运用, jquery表单验证实例,深入了解

    多线程的那点破事儿-------

    在“多线程的那点破事儿”这一主题中,我们将深入探讨多线程的核心概念、应用场景以及可能遇到的问题。 首先,我们需要理解什么是线程。线程是操作系统分配处理器时间的基本单元,一个进程可以包含一个或多个线程。...

    JSP 与 Servlet 不得不 说的那点破事儿

    ­ 简单的图解: 转化 响应客户端 Jsp页面 ----- Tomcat中-----> Servlet -------->

    mybatis开发笔记.docx

    此外,还需要引入`maven-compiler-plugin`插件来指定Java编译版本。 ```xml <groupId>junit <artifactId>junit <version>4.12 <scope>test <groupId>org.mybatis <artifactId>mybatis <version>3.2.2...

    SSM整合+火车票查询系统.docx

    SSM框架整合+火车票查询系统 SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,搭建的一个简单的火车票查询系统。该系统主要使用SSM框架集进行开发,使用Maven进行依赖管理,实现了火车票查询系统的...

    ssm整合小项目源码

    SSM框架整合是Java开发中的常见实践,它结合了Spring、SpringMVC和MyBatis三个强大的开源框架,为Web应用程序提供了一套高效且灵活的解决方案。以下是对这些框架及其整合方式的详细解释: 1. **Spring框架**:...

    通过Socket搭建Web服务器

    Socket基础运用,搭建web服务,通过Socket搭建Web服务器

    软件设计师,视屏集合,真题和真题分析

    软件设计师,视屏集合,真题和真题分析软件设计师,视屏集合,真题和真题分析

    软件设计师,视屏教学,真题word集合

    软件设计师,视屏教学,真题word集合,软件设计师,视屏教学,真题word集合

    通过fastJSON封装JSON

    json知识运用,fastjson进行封装,通过fastJSON封装JSON

    SpringMVC基础篇笔记.docx基础篇笔记.docx

    ### SpringMVC基础知识点详解 #### 一、SpringMVC概述 SpringMVC是一个轻量级的MVC框架,主要用于构建Web应用程序中的表现层。它遵循Model-View-Controller(模型-视图-控制器)的设计模式,使得业务逻辑、用户界面...

    收款机管理系统建模

    统一建模UML实现收款机管理系统建模,UML基础知识的练习小项目

    Oracle数据库基础及应用实训代码与截图

    Oracle 数据库基础及应用实训代码与截图 Oracle 数据库基础及应用实训代码与截图是 Oracle 数据库的基础知识和实践操作的集合,涵盖了 Oracle 数据库的基本操作、数据约束、数据操作、模块化编程、触发器和数据库的...

Global site tag (gtag.js) - Google Analytics