2016-05-17 6 views
0

は、以下のように、すべての入力に必要なパターンを使用して、私のフォーム/有効なI:有効なフォーム - ディスプレイちょうど1つのエラーは常に[角度]は

<div class="crazy-error" ng-show="myFrom.email.$dirty && myFrom.email.$invalid"> 
    <span ng-show="myFrom.email.$error.required">INVALID: Required</span> 
    <span ng-show="myFrom.email.$error.pattern">INVALID: Pattern</span> 
</div> 

このコードは、しかし、私はすべてのちょうどエラーに表示する私のためのクールな作品

  • メール
  • カラー
:私は3つの入力を持っているので、もし時間

たとえば、3つのすべてが間違って表示されると、最初は常に無効なエラーが表示されます。

それはそれは、各エラー表示のdivのために、以下のようなコードで行うことができます明らかです:

<div class="crazy-error" ng-show="myFrom.email.$dirty && myFrom.email.$invalid && (myForm.name.$valid || myForm.color.$valid)"> 

しかし、これは少し厄介に見えるとすぐにフォームが育つよう例えば7つの入力ロジックになる必要があります本当に複雑すぎる。

すべての代わりに最初のエラーだけを表示する良い方法がありますか?

答えて

0

ng-hide - https://docs.angularjs.org/api/ng/directive/ngHideとng-if - https://docs.angularjs.org/api/ng/directive/ngIfの指示文を使用すると、条件を単純にすることができます。

+0

ちょっとジョニー、いくつかの例を挙げてください。私は間違っている可能性がありますが、 'ng-hide =" value "は' ng-show = "!value" 'と同じで、別の手で' ng-if'の結果は同じですそれ(DOMに追加する場合、ng-show、ng-hideは単にcssプロパティを設定します) – Andurit

関連する問題