webentwicklung-frage-antwort-db.com.de

AngularJS-Formularvalidierungsanweisung $ setValidity on element

Ich versuche, $setValidity Für ein Element in einer Direktive zu verwenden. Alle Beispiele, die ich gefunden habe, scheinen es auf dem Controller zu setzen ...

Ich habe eine JS-Geige bei der Formularvalidierung gespalten und eine Reihe von Dingen ausprobiert. Alle mögliche Einblicke würden am meisten geschätzt: http://jsfiddle.net/thomporter/pmKpG/2/

In der Geige wird der $setValidity Auf dem Controller aufgerufen:

ctrl.$setValidity('pwd', true);

Ich würde gerne etwas machen wie:

Elm.$setValidity('pwd', true);

so dass ich in der Form etwas machen kann wie:

ng-class="{error:form.password.$error.pwd}"
29
Thom Porter

Ich habe es herausgefunden ... Sie müssen einen Namen auf den Eingabeelementen haben. Sobald ich den Namen hinzufügte, wurden die Fehler wie gewünscht automatisch an die Elemente gebunden, es waren keine weiteren Änderungen erforderlich!

<input ng-model="password"
       name="inputPassword"
       class="immediate-help"
       password-validate
       required
       type="password"
       id="inputPassword"
       placeholder="Password">

http://jsfiddle.net/thomporter/pmKpG/4/

60
Thom Porter