2016-06-28 5 views
1

Ich kann ng-messages nicht mit ng-repeat arbeiten. Hierng-Nachrichten funktioniert nicht mit 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> 

ist ein Beispiel: http://codepen.io/jakej/pen/dXvRdp Erste Form ng-repeat Verwendung ist.

Ich habe beide ng-message und ng-message-exp versucht, aber keiner von ihnen funktioniert. Warum ist ng-repeat brechen ng-message Direktive?

Vielen Dank im Voraus!

Antwort

1

Zuerst Sie haben einen Fehler auf Ihr JSON-Array.

Nach, müssen Sie eine Spanne mit ng-Nachricht Attribut hinzufügen Kinder der ng-repeat <div>

Und {{ hinzufügen }} in Ihrem ng-message-Attribut

Es funktioniert gut

JS

HTML

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

UPDATE

Sie brauchen keine Kinder Element hinzufügen, nur der Fehl von {{}} war wichtig

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

Statt ng-repeat und ng-Nachricht zusammen, versuchen, diese Art der Verwendung:

<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

Versuchen Fehler in Rahmen auf ein Array zu machen:

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