2016-06-28 51 views
1

我無法獲得ng-messagesng-repeat一起使用。ng消息不適用於ng-repeat

<form name="testForm"> 
    <input type="text" name="text" ng-model="text" required /> 
    <div ng-messages="testForm.text.$error"> 
     <div ng-repeat="Error in errors" ng-message="Error.type">{{ Error.message }} </div> 
    </div> 
</form> 

這裏是一個例子:http://codepen.io/jakej/pen/dXvRdp 第一種形式是使用ng-repeat

我已經試過ng-messageng-message-exp但它們都不起作用。 爲什麼ng-repeat打破ng-message指令?

在此先感謝!

回答

1

首先,你必須在一個錯誤你的Json數組。

後,你需要添加一個跨度NG-Message屬性的NG-重複的孩子<div>

並添加{{}}在NG-Message屬性

它的工作原理好

JS

HTML

<div ng-repeat="Error in errors"> 
    <span ng-message="{{Error.type}}">{{Error.message}}</span> 
</div> 

UPDATE

你並不需要增加兒童元素,只有{{}}小姐很重要

<div ng-repeat="Error in errors" ng-message="{{Error.type}}">                  
    {{Error.message}} 
</div> 
1

而不是使用NG重複和NG-消息一起的,試試這個方法:

<form name="testForm"> 
    <input type="text" name="text" ng-model="text" required /> 
<div ng-repeat="item in items"> 
<div ng-messages="testForm.text.$error"> 
     <div ng-message="Error.type">{{ Error.message }} </div> 
    </div> 
</div> 

</form> 
0

試圖在範圍錯誤的數組:

$scope.errors = [{ 
    type: "required", 
    message: "Field is required" 
}]