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;
	},
别再只看读写速度了!聊聊手机闪存eMMC、UFS3.1和SSD背后的功耗与体积玄学 本文深入探讨手机闪存技术eMMC、UFS3.1和SSD在功耗与体积设计上的关键差异。通过对比接口技术、封装工艺和温度管理,揭示移动存储如何在有限空间内平衡性能与能效,为消费者提供选购参考。重点关注UFS3.1的差分信号设计和全双工架构带来的显著优势。 阅读详情

相关推荐

飞腾Ubantu22.04.3安装OpenNebula测试

因OpenneBula官方镜像源只有AMD架构的镜像包不存在ARM的镜像包,借此用源码编译进行测试。

坚持就是胜利的博客 1010

Java_Validation分组校验

在java开发过程中,通常一个对象会在多个接口进行使用,但是每个接口对参数校验的需求不一样,当遇到这种情况,我们可以采用分组校验的方式

雪小白 1323

CondaHTTPError: HTTP 404 NOT FOUND for url

用conda创建新环境时出现问题了。

qq_40713201的博客 1269

Spring Boot 校验分组(Validation Groups)高级用法全指南

本文介绍了Spring Boot校验分组的高级用法,通过定义分组接口、按场景声明校验规则和指定校验场景,实现同一DTO在不同业务场景下的灵活校验。核心要点包括分组继承、分组序列和动态分组等高级技巧,以及如何与Spring MVC、Spring Batch等框架集成。该方法能有效避免DTO冗余和重复校验,提升代码复用性和维护性,适用于新增、修改、导入、审核等多种业务场景。

RodJohnsonDoctor的专栏 848

Python 列表(list)所有方法超全汇总

以上就是 Pythonlist 列表全部 11 个内置方法的完整汇总,全覆盖、无遗漏。掌握所有列表方法,基本可以应对 99% 的列表操作场景,无论是日常开发、数据分析还是算法刷题都能高效编码。

jdksjw的博客 234

海康威视iVMS-4200在银河麒麟系统部署全攻略与疑难排解

在信创国产化进程中,软件兼容性是关键挑战之一。以安防监控领域广泛使用的海康威视iVMS-4200客户端为例,其从Windows环境迁移到银河麒麟等国产操作系统时,面临架构适配、依赖库匹配等核心兼容性问题。这涉及到跨平台软件部署的通用原理:不同CPU架构(如ARM的飞腾、x86的兆芯)和操作系统底层API的差异,要求软件必须进行针对性编译和优化。解决这类问题的技术价值在于保障专业软件在国产化环境中的稳定运行,是信创产业落地的重要环节。具体到应用场景,如在基于银河麒麟V10的安防监控项目中,通过获取对应架构的.

weixin_33423874的博客 1450

记录:Validator自定义,分组,本地验证

Validator自定义,分组,本地验证

weixin_53588837的博客 554

手把手教你用AirSim和Unreal4在Ubuntu上创建自定义无人机仿真场景

本指南详细介绍了如何在Ubuntu系统上使用AirSim和Unreal Engine 4搭建高精度无人机仿真环境。从硬件配置、驱动安装到Unreal Engine编译和AirSim集成,手把手教你创建自定义场景,适用于算法验证和开发测试。

y7z8a的博客 257

@Validated中的分组Group实战使用心得

在日常开发中,经常会对参数的格式进行校验,所以我们常用的就是基于标准实现的,通常是要用的格式包含:邮件格式、字符串判空等等,但是有时候创建和编辑中所涉及的属性基本上都一样,除了编辑可能包含主键ID之外,基本没有差别,通常情况下,我们应该将分成两个对象接收处理,但是有时候会想偷懒,就想着使用同一个对象,但是这就这涉及到了参数验证的问题,比如只有在编辑的时候,主键ID才是不可为空的,而创建的时候,主键ID是交给数据库自动生成的,因此这里就需要使用到分组这个概念,按照这种思路,我们先把代码写出来:版本一: 我们会

qq_44309181的博客 7597

VMware 安装 Windows11

一、下载win11的镜像文件 可以在MSDN网站下载: MSDN系统库-致力于原版windows生态服务 二、创建虚拟机 1.双击打开VMware虚拟机,点击创建新的虚拟机 2.选择典型(推荐),然后点击下一步 3.在安装程序光盘映像文件下,点击浏览按钮,选择Windows 11ISO镜像文件所在的路径,在Windows 11安装文件路径中不要有中文或其他特殊符号,否则有可能引起错误。然后点击下一步 4.在选择客户机操作系统界...

m0_56015193的博客 7021

从婴儿学步到工业级应用:VLA的‘隐式标定‘原理通俗图解

本文深入解析VLA(Vision-Language-Action)模型的'隐式标定'原理,通过类比婴儿学习机制,揭示其如何替代传统手眼标定技术。文章对比了工业机器人传统标定与VLA数据驱动方法的差异,并可视化神经网络注意力机制,展示其在空间关系编码上的突破性进展。最后探讨了VLA在工业应用中的优势与混合架构解决方案。

pz890123456的博客 324

java验证组理解

首先,定义一些接口作为验证组。在数据传输对象(DTO)中,使用提供的注解,并指定验证组。在控制器方法中,使用@Validated注解并指定验证组,以确保在特定场景下应用正确的验证规则。@Validated// 处理创建用户逻辑// 处理更新用户逻辑定义一个通用的结果对象,用于封装 API 调用的返回结果。这两个接口没有任何方法,只是作为标记接口,用于区分不同的验证场景。username:在创建用户时必须填写。email:在创建用户和更新用户时都必须填写。

qq_52128071的博客 940

Vue - 快速入门,这一套就够了!(Vue core + 案例 + 效果演示)

前置条件:掌握 HTML、CSS、JavaScript、AJAX.工具:VsCode.插件:Live Server(浏览器实时预览)Ps:建议都提前下载下来,没网的时候也能用.

CYK_byte的博客 4万+

RequiredFieldValidator 根据group组来触发验证

今天在开发过程中遇到了这样一个问题在这个用户添加界面中,我使用了多个验证控件RequiredFieldValidator,分别控制用户名密码。在默认情况下,当单击“检查用户名”时,密码的验证控件也被触发。这种效果不是我预期的。我需要单独对用户名进行为输入验证。当检查通过时,再对密码是否输入是否输入一致进行验证。说明:在ASP.NET 1.1中除了hack code没有更好的办法。ASP.NET ...

u014712365的博客 155

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

分组验证 Validation group

参考英文原文连接 Spring MVC 3.1开始引入了分组验证。 接下来一步步演示如何进行分组验证,分为用spring和不用spring两部分。 创建分组 就是建几个接口 public class Account implements PasswordAware { interface ValidationStepOne { // validation group marker interface } interface ValidationStepTwo {

haiku的博客 5494

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

springmvc(四) springmvc的数据校验的实现

      so easy~               --WH 一、什么是数据校验?       这个比较好理解,就是用来验证客户输入的数据是否合法,比如客户登录时,用户名不能为空,或者不能超出指定长度等要求,这就叫做数据校验。       数据校验分为客户端校验和服务端校验         客户端校验:js校验         服务端校验:springmvc使用validation校验,st...

weixin_34294649的博客 324

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

spring validate group分类校验

在使用spring validate,我的用法是在bean上标注校验,如下:      wishclip.java:      @NotNull @Size(max = 512) private String url;      然后在spring controller中这样使用:       public ResponseEntity addWish(@Valid @RequestB

sinoalex的博客 1万+

ValidationGroup属性

ValidationGroup 属性规定了验证过程中被验证的控件组。此属性大多数情况下用在表单中存在多个按钮的情况下。比如你的按扭可以是:此时你的按扭2就不会触发验证

tudas的专栏 3501

jquery formValidator 分组验证

jquery formValidator 分组验证 formValidator 分组验证

y_h_t的专栏 4475

spring @Validated 注解开发中使用group分组校验

之前知道spring支持JSR校验,在自己定义的bean中加入@NotNull,@NotBlank,@Length等之类的校验用于处理前台传递过来的request请求,避免在写多余的代码去处理.但是随着业务的复杂度增加,对于校验的制定也越来越有要求,这个时候就需要引入分组group的概念,在自定义注解@Validated中定义了一个Class[]数组用来分组.这样我们就可以引入分组校验的概念,首先...

lklihaikunkun的博客 6万+

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 144

副队长BootStrap5探究(2)--按钮与按钮组

本文系统讲解Bootstrap 5按钮组件的使用与底层原理。通过CDN引入框架,掌握btn基础类及primary、success等主题色应用,学习轮廓按钮(btn-outline-*)、尺寸控制(btn-lg/sm)、块级布局(d-block)和禁用状态(disabled)等实用功能。结合源码解析,深入理解其基于CSS的圆角、过渡动画、伪类交互实现机制,实现“快速上手+原理掌握”的双重目标,助力前端技能进阶。

编程副队长 639

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 348

React 性能:memo / useMemo / useCallback

讲清 memo/useMemo/useCallback 的配合与边界,先测量再优化,避开常见过早优化。

JudithHuang的博客 327
上一篇: Java基础误区
下一篇: Excel 参照列并单元格算法
sprone
博客等级 码龄14年 2粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值