在表单页对应的js中加入如下代码 只有当前页可以解决对多个name校验
if ($.validator) {
$.validator.prototype.elements = function () {
var validator = this,
rulesCache = {};
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);
rulesCache[this.name] = true;
return true;
解决方案二:
修改源文件 所有的页面都可以验证多个name
方式1:修改jquery.validate.js文件
用 ctrl+F 查找 this.name in rulesCache 注释掉如下代码。
elements: function() {
var validator = this,
rulesCache = {};
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);
rulesCache[this.name] = true;
return true;
方式2:修改jquery.validate.min.js文件
用 ctrl+F 查找(c[this.name]=!0,!0)})
return !this.name && b.settings.debug && window.console && console.error("%o has no name assigned", this),
c[this.name] = !0, !0
本文来源 : http://www.cnblogs.com/danywdd/p/5667903.html
下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码:
修复jquery.validate插件中name属性相同(如name='a[]‘)时验证的bug
使用jQuery.validate插件http://jqueryvalidation.org/,当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。这个bug在动态生成表单时候影响比较大。
通过查询资料,找到一个解决方案:
http://stackoverflow.com/questions/931687/using-jquery-validate-plugin
<form id="form" method="post" action="http:xxxx.com">
<input type="text" name="username" />
<input type="text" name="username" />
<input type="submit" value="提交" />
</form>
在一个表单中如果有多个相同的n
在项目中经常遇到,表单可以动态追加多行。但是追加的行中,input 文本框的name会重复。如果用jquery validator ,它只支持验证第一个input,后面的name相同的input不会被验证,怎么办呐?经过研究源码,提出了解决办法。
基于jQuery Validation Plugin - v1.14.0 - 6/30/2015改造
在defaults默认配置中增加 duplicat...
在项目开发中,通常会遇到一个表格构成的表单,那么表单里面就可能会有几个元素的名字相同,针对这种情况在validate默认的条件下是只能验证第一个,而后面的元素就不能得到验证,那么要解决这种问题就有以下两种处理方式。
注意:无论采用下面哪种处理方式,相同名称的元素都必须拥有id,否则是没有任何效果的。
在需要验证的页面的js文件中添加以下代码即可:
jquery validate在对多个相同name校验时,只校验第一个input框。
解决方案一:
在表单页对应的js中加入如下代码 只有当前页可以解决对多个name校验
if ($.validator) {
$.validator.prototype.elements = function () {
var validator
使用jQuery.validate插件http://jqueryvalidation.org/,当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。
$(function () {
if ($.validator) {
$.validator.prototype.elements = function () {
下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码:
修复jquery.validate插件中name属性相同(如name=’a[]‘)时验证的bug
使用jquery.validate插件http://jqueryvalidation.org/,当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。这个b...
if ($.validator) {
$.validator.prototype.elements = function () {
var validator = this,
rulesCache = {};
// select all valid inputs inside the form (no submit or reset butt
用过的人应该知道,validate.js中如果有多个name相同的控件,提交或者调用valid时只会验证这些name相同的第一个控件,为解决这个问题,从网上找了两种方
一是在百度上都能搜到的:
if ( this.name in rulesCache || !validator.objectLength( $( this ).rules() ) ) {
return false;
在使用Jquery validate中遇到一个问题,当表单元素有name相同字段时,validate只校验表单元素name第一个值是否通过校验,比如
<input type="text" name="userName"/>
<input type="text" name="userName"/>
<input type="text" name="userNa...
前一段时间学习了jquery validate 的使用,还满心欢喜的觉得以后终于可以规范化的去写表单验证了。不然,碰到使用validate 检查相同name 值的问题着实难到我了。