2017-03-24 5 views
0

Ich habe textarea in Form:Ist die Eingabe gültig Angular JS?

<form name="new_project"> 
    <textarea autofocus="autofocus"ng-model="description" ng-maxlength="10" name="campaign[description]"></textarea> 
</form> 

Ich versuchte Zustand des Eingangs zu zeigen, wie:

{{new_project.campaign[description].$valid}} 

Es gibt nichts, warum?

+0

Wenn Sie nur den Namen ändern, 'es funktioniert' 'campaign_description''' zum Beispiel zu überprüfen. – Dario

+0

Ich kann den Namen nicht ändern. – Daniel

+0

Dann gehen Sie für '' '{{new_project ['campaign [description]']. $ Valid}}' '' – Dario

Antwort

2

Sie tun sollten:

{{new_project['campaign[description]'].$valid}} 

Der Grund:

name="campaign[description]" fügt Ihrem Formularobjekt eine Eigenschaft hinzu, die wörtlich als die Zeichenfolge'campaign[description]' bezeichnet wird. Die einzige Möglichkeit, auf den Wert dieser Eigenschaft zuzugreifen, besteht darin, diese Zeichenfolge in [] einzufügen.

Dot Notation hier nicht in diesem speziellen Fall für Sie arbeitet, weil sonst die JavaScript-Interpreter in campaign[description] erwarten würden die Eigenschaft campaign zwischen den Klammern versehen zuzugreifen []: in Ihrem Fall den Wert von description, was ich denke, es wäre undefined.

0

Versuchen Sie, diese

<form name="new_project"> 
    <textarea autofocus="autofocus"ng-model="description" ng-maxlength="10" name="campaign{{description}}"></textarea> 
</form> 

Und

{{new_project['campaign'+description].$invalid}} 
0

Verwendung {{new_project.textarea.$valid}} passieren das Element um die Gültigkeit zu

Verwandte Themen