web-dev-qa-db-fra.com

Directive de validation de formulaire AngularJS $ setValidity on element

J'essaie d'utiliser $setValidity sur un élément d'une directive. Tous les exemples que j'ai trouvés semblent le mettre sur le contrôleur ...

J'ai bifurqué un violon JS sur la validation de formulaire et j'ai essayé un tas de choses. Toutes les idées seraient les plus appréciées: http://jsfiddle.net/thomporter/pmKpG/2/

Au violon, le $setValidity est appelé sur le contrôleur:

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

Je voudrais faire quelque chose comme:

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

de sorte que sous la forme je peux faire quelque chose comme:

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

Je l'ai compris ... Vous devez avoir un nom sur les éléments d'entrée. Dès que j'ai ajouté le nom, les erreurs ont été automatiquement liées aux éléments comme souhaité, aucune modification supplémentaire nécessaire!

<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