时间:2021-05-26
导读:
在表单页中有如下代码
<form> <input name="zhai"/><!-- 三个相同name的input --> <input name="zhai"/> <input name="zhai"/> </form>jquery validate在对多个相同name校验时,只校验第一个input框。
解决方案一:
在表单页对应的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 = {}; // 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.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),//this.name in c || !b.objectLength(a(this).rules()) ? !1 : (c[this.name] = !0, !0)//注释这行c[this.name] = !0, !0 //添加这行以上所述是小编给大家介绍的jQuery Validate 校验多个相同name的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码:修复jquery.validate插件中name属性相同(如name='a[]
jQuery.Validate验证库1、下载jquery.validate,这里我提供jquery-validation-1.9.0,点击下载默认校验规则复制代
jQuery:validate添加自定义验证jQuery.validator.addMethod添加自定义的验证规则addMethod:name,method,
在页面form表单中,经常会有相同name的多个input标签,在提交表单前需要对这些input的value值做校验,就要在js中拿到这些值,下面这个方法:
主要分几部分jquery.validate基本用法jquery.validateAPI说明jquery.validate自定义jquery.validate常见