本文主要介绍了jquery validate 校验多个相同name的方法,需要的朋友可以参考下,希望能帮助到大家。
导读:
在表单页中有如下代码
 <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 //添加这行
相关推荐:
spring shiro bootstrap jquery.validate 登录、注册功能的实现方法
jquery validate表单验证插件详解
jquery.validate.js 多个相同name的处理方式详解
以上就是jquery validate 校验多个相同name实例分享的详细内容。
   
 
   