天天看點

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