天天看点

Jquery validate验证表单时多个name相同的元素

if ($.validator) {
       $.validator.prototype.elements = function () {
       var validator = this,
       rulesCache = {};
       // select all valid inputs inside the form (no submit or reset buttons)
       return $([]).add($(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;
           }));
       }
   }
           

项目中用到了Jquery validate验证表单,但是在验证动态生成的多行表单元素时因为name相同导致验证失败,查询网上其他文章后整理出符合需求的修复脚本,在需要校验有重复name表单的页面中引入,其他校验照原有的写法即可。

脚本内容

参考文章

 http://blog.csdn.net/molashaonian/article/details/53860041