2012-11-28 65 views
2

我正在使用jQuery驗證來顯示從服務器返回的一些錯誤。jquery validate顯示多個錯誤

我使用validator.showErrors()方法來執行此操作。

我可以根據示例here獲得該方法的工作方式。

var validator = $("#myform").validate(); 
validator.showErrors({"firstname": "I know that your firstname is Pete, Pete!"}); 

我試圖然而,實現的是有2個以上的相同或不同的字段驗證錯誤。根據文件,這是可能的

顯示指定的消息。鍵必須參考 元素的名稱,使用 配置的錯誤放置爲這些元素顯示值。

參數:

Object<String, String>錯誤 一個或多個鍵/值對 輸入姓名和消息。

展望showErrors方法中顯示以下內容:

showErrors: function(errors) { 
     if(errors) { 
      // add items to error list and map 
      $.extend(this.errorMap, errors); 
      this.errorList = []; 
      for (var name in errors) { 
       this.errorList.push({ 
        message: errors[name], 
        element: this.findByName(name)[0] 
       }); 
      } 
      // remove items from success list 
      this.successList = $.grep(this.successList, function(element) { 
       return !(element.name in errors); 
      }); 
     } 
     this.settings.showErrors 
      ? this.settings.showErrors.call(this, this.errorMap, this.errorList) 
      : this.defaultShowErrors(); 
    } 

我曾嘗試以下:

validator.showErrors({ "Id": "I know that your firstname is Pete, Pete!" },{ "Id":"test2"}); 

,但它仍然只顯示第一個錯誤。

任何想法正確的格式來得到它顯示多個錯誤

回答

3

所以它會出現在正確的格式是

validator.showErrors({ "Id": ["I know that your firstname is Pete", "test2" ]}); 

不幸的是顯示旁邊的第一個錯誤的第二個錯誤,所以我的下一個問題是找到一個更好的方式來格式化這些。

+0

這個數組語法給我一個錯誤,如果你有時間我很想看到演示的jsfiddle –

+1

http://jsfiddle.net/4pqjZ/ –

+0

很大,原來此功能的工作原理使用jQuery> = 1.8.2,但會拋出一個JavaScript異常jquery <= 1.7.2(這是我使用的) –