微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery Validate 校验多个相同name的方法

导读:

在表单页中有如下代码

rush:js;">

jquery validate在对多个相同name校验时,只校验第一个input框。

解决方案一:

在表单页对应的js中加入如下代码 只有当前页可以解决对多个name校验

rush:js;"> 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 注释掉如下代码

rush:js;"> elements: function() { var validator = this,rulesCache = {}; // select all valid inputs inside the form (no submit or reset buttons) return $(this.currentForm) .find("input,textarea") .not(":submit,[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)})

rush:js;"> 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的方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐