web-dev-qa-db-ja.com

AngularJSフォーム検証ディレクティブ$ setValidity on element

ディレクティブの要素で$setValidityを使用しようとしています。私が見つけたすべての例は、コントローラに設定しているようです...

Form ValidationでJSフィドルを分岐し、いくつかのことを試しました。すべての洞察が最も高く評価されます: http://jsfiddle.net/thomporter/pmKpG/2/

フィドルでは、$setValidityがコントローラーで呼び出されます:

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

私は次のようなことをしたいです:

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

フォームで次のようなことができます:

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

私はそれを理解しました...あなたは入力要素に名前を持たなければなりません。名前を追加するとすぐに、エラーは必要に応じて要素に自動的にバインドされ、追加の変更は不要です!

<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