2016-08-18 6 views
5

私は、この入力があります。エラーメッセージの確認と表示方法 - Angular2 Material Design?

<form #f="ngForm" name="productForm"> 
    <md-input [(ngModel)]="product.price" name="price" required="true" placeholder="Price (USD)"></md-input> 
    <div ng-messages="productForm.price.$error" role="alert"> 
     <div ng-message-exp="['required']"> 
       Price is required 
      </div> 
    </div> 
</form> 

をしかし、価格が必要とされるメッセージは表示されません。

エラーメッセージを正しくフォーマットする方法を教えてください。

価格入力が空の場合、NG-無効なクラスが表示されます。

enter image description here

enter image description here

私は何かを記入する場合: enter image description here

角度はでNG-有効なクラスを注入それ。 enter image description here

私はしたいが、このようになりますangular1 md designに似たスタイルを持つことです。

enter image description here

答えて

9

うまくいけば、これはangular2-材料進化として追加されますが、現在はこれを模倣する方法はにありますdividerColorを設定し、MD-HINTディレクティブを使用します。例:

<md-input placeholder="Email address" 
    #email="ngModel" 
    name="email" 
    type="text" 
    fullWidth={true} 
    [(ngModel)]="model.email" 
    required 
    email 
    dividerColor="{{ !email.valid ? 'warn' : 'primary' }}"> 
    <md-hint [hidden]="email.pristine || email.valid"> 
     <span [hidden]="email.errors?.required || !email.errors?.email"> 
      This doesn't appear to be a valid email address. 
     </span> 
     <span [hidden]="!email.errors?.required">Email address is required.</span> 
    </md-hint> 
</md-input> 
+0

すみません、あなたはどういう意味ですか、email.errors?.email? – Vicheanak

+0

についてのディスカッションこの1つは公式の資料2レポですhttps://github.com/angular/material2/issues/348 – Kuncevic

+2

最新バージョンの回答を編集するとよいでしょう。 dividerColorはmd-inputの代わりにmd-input-containerの一部にする必要があります – cport1

3

角度情報マージン2.0.0以降で検証メッセージを挿入できるようになりました。ドキュメントhereを確認してください。

+0

入力フィールドをblureするときではなく、入力中にエラーを表示することは可能ですか?私はそれをぼかすと入力したときにタイプすると検証しますが、入力フィールドを初めて入力するときにエラーメッセージを表示することが可能ですか? –

関連する問題