文档章节

修改jquery.validate.js的验证规则

bigYuan
 bigYuan
发布于 2014/06/04 14:17
字数 370
阅读 50
收藏 0
点赞 0
评论 0

jquery.validate.js默认验证的是元素的name.

例如:<input name="username" id="username" size="25" />

------------------------------------------------------------------------------------

我们可以通过修改jquery.validate.js让他验证元素的id.

我们把jquery.validate.js中的element.name,全部都替换成element.id就可以了,注意要完全匹配element.name别把其他的也替换了产生错误。

------------------------------------------------------------------------------------

以下方法中也要替换:

onclick: function( element, event ) {

// click on selects, radiobuttons and checkboxes

if ( element.id in this.submitted ) {

this.element(element);

}

// or option elements, check parent select in that case

else if ( element.parentNode.name in this.submitted ) {

this.element(element.parentNode);

}

},

findLastActive: function() {

var lastActive = this.lastActive;

return lastActive && $.grep(this.errorList, function( n ) {

return n.element.id === lastActive.name;

}).length === 1 && lastActive;

},

findByName: function( name ) {

return $(this.currentForm).find("[name='" + name + "']");

},

elements: function() {

var validator = this,

rulesCache = {};


// select all valid inputs inside the form (no submit or reset buttons)

return $(this.currentForm)

.find("input, select, textarea")

.not(":submit, :reset, :image, [disabled]")

.not( this.settings.ignore )

.filter(function() {

if ( !this.name && validator.settings.debug && window.console ) {

console.error( "%o has no name assigned", this);

}


// select only the first element for each name, and only those with rules specified

if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) {

return false;

}


rulesCache[this.id] = true;

return true;

});

},

修改后

onclick: function( element, event ) {

// click on selects, radiobuttons and checkboxes

if ( element.id in this.submitted ) {

this.element(element);

}

// or option elements, check parent select in that case

else if ( element.parentNode.id in this.submitted ) {

this.element(element.parentNode);

}

},

findByName: function( name ) {

return $(this.currentForm).find("[id='" + name + "']");

},

findLastActive: function() {

var lastActive = this.lastActive;

return lastActive && $.grep(this.errorList, function( n ) {

return n.element.id === lastActive.id;

}).length === 1 && lastActive;

},

elements: function() {

var validator = this,

rulesCache = {};


// select all valid inputs inside the form (no submit or reset buttons)

return $(this.currentForm)

.find("input, select, textarea")

.not(":submit, :reset, :image, [disabled]")

.not( this.settings.ignore )

.filter(function() {

if ( !this.id && validator.settings.debug && window.console ) {

console.error( "%o has no name assigned", this);

}


// select only the first element for each name, and only those with rules specified

if ( this.id in rulesCache || !validator.objectLength($(this).rules()) ) {

return false;

}


rulesCache[this.id] = true;

return true;

});

},

------------------------------------------------------------------------------------

插件地址:

http://jqueryvalidation.org/

以上使用的是jQuery Validation Plugin 1.11.1

© 著作权归作者所有

共有 人打赏支持
bigYuan
粉丝 16
博文 135
码字总数 43172
作品 0
大连
程序员
jQuery验证使用

首先要加载jquery.js与jquery.validate.js两个文件。 然后可以写验证规则,与错误提示语,也可以写自定义的验证函数。 这里的验证一般针对于html表单中的各种控件。根据它们的名字进行验证。...

桃子红了呐
2017/06/27
0
0
jQuery validate插件初探

jQuery的validate插件,在jQuery验证时使用非常方便。 具体使用步骤: 1.引入文件 既然是jQuery插件,必须要有jQuery作为支持jquery-1.3.2.min.js 然后是验证的核心文件jquery.validate.js ...

桃子红了呐
2017/07/07
0
0
Jquery Validate 取消校验

私活真的是不好接呀,动不动就来个奇怪的功能,在页面加入了Jquery Validate完整性校验后,居然提出填写该页面一半时也可以进行保存操作,这就违反了校验规则,然而Jquery Validate是没有办法...

华山猛男
01/14
0
0
jquery validator之动态增加/删除验证规则

jquery validator之动态增加/删除验证规则 $('#id').rules('add',{ required: true, rangelength: [2,10], messages:{ required: '请填写内容', rangelength: '字数在{0}-{1}字以内' } }); U......

柒月-小妖精
2013/11/23
6.7K
2
javascript设计模式之策略模式

一、定义 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算饭的客户. 二、正文 相信大家在web开发的时候都接触过jquery验证插件jquery.vali...

漂泊者及其影子
2014/01/10
0
0
jQuery表单验证插件--Validation

jquery.validate.js 是一款执行表单输入信息验证的jQuery插件。要求 jQuery 1.2.6+, compatible with 1.3.x 特点: 安装简单 内置超过20种数据验证方法 直列错误提示信息 可扩展的数据验证方...

匿名
2008/09/19
25.4K
0
jquery.validate.js

一、源码 二、jquery.extend用法 如上代码中自定义错误信息地方,样式定都是通过jquery.extend实现,Jquery的扩展方法extend是我们在写插件或者使用插件的过程中常用的方法,由于扩展插件中的...

漂泊者及其影子
2016/06/03
108
0
jQuery.Validate客户端验证使用介绍

在日常项目中表单验证算是最常见的了,使用一个好的js库可以使我们的工作事半功倍。jQuery.Validate无疑就是一个不错的选择。 jQuery.Validate,这个验证库是属于jQuery的插件,是由bassist...

Edens_Song
2012/09/17
0
0
在.Net中使用Jquery.validate.js来验证Form的问题

在.NET中所有的服务器控件Button在生成HTML的时候,都将自动生成为submit. 而jquery.validate.js在验证时,如果验证没有通过,刚不允许提交。 这下悲剧了,如果我有多个服务器端的Button控件...

一周寂寞七天
2011/05/23
3.4K
7
jquery.validate.js 的封装

作为一位前端程序员,使用validate判断表单 能方便很多,但是各种插件的引用不能满足项目的需求,特别是想把验证规则和验证提示消息写于标签内部,这样减轻js代码的书写和更直观的一一对应每个标...

罗培海
2016/06/03
17
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 基础 - 远程仓库的使用

远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某...

谢思华
10分钟前
0
0
面试宝典-悲观锁和乐观锁

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 乐观锁(Optimistic...

suyain
12分钟前
0
0
崛起于Springboot2.X之集成MongoDb使用mongoTemplate CRUD(27)

1、pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version></dependency><dependency> <groupId>log4j</......

木九天
22分钟前
0
0
切分log日志

新建logback.xml放到resource里面 <?xml version="1.0" encoding="utf-8"?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <......

talen
27分钟前
0
0
spring @Resource 和 @Autowired 的使用区别

这两个 注解 @Resource 和 @Autowired , 常识都知道 @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。 一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。 但...

之渊
32分钟前
0
0
springboot集成elasticsearch客户端问题记录

1背景说明 服务端ES版本为5.5.2,springboot版本为1.5.6。 工程中添加如下依赖 2问题记录 2.1 NetworkPlugin类找不到 报错java.lang.ClassNotFoundException: org.elasticsearch.plugins.Net...

zjg23
34分钟前
1
0
快速构建ceph可视化监控系统

前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...

万建宁
34分钟前
0
0
Java构造器使用注意

public class 父类A {int age = 10;protected void say() {System.out.println("父类A");}public 父类A() {override();}public void override() {Syst...

咸鱼AI
35分钟前
0
0
TensorFlow 线性分类

构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...

阿豪boy
38分钟前
0
0
翻译冒泡排序测试

翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.length ;for( var i =1; i<= n; i++) { for( var j = n-1 ; j >= i; j --) { if(a[j] < a[j+1]) { ......

钟元OSS
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部