2017-04-19 8 views
1

Material 2.0.0-beta.3のリリースでは、エラーメッセージ(#3560)を表示するための新しいmd-error指示が追加されました。コントロールがtouchedinvalidの場合は、 md-errorのように表示されます。これはおそらく適切なデフォルト設定ですが、状況によってはエラーが表示されたときにカスタマイズできるようにしたいと考えています。エラーメッセージが表示される条件をカスタマイズすることはできますか? Show and hide validation error messages下の角ドキュメントで コントロールが変更されていなくてもエラーメッセージを表示できるようにするには

は、彼らが

は、あなたがメッセージ要素のhiddenプロパティに

を名前コントロールのプロパティを結合することによって、名前のエラー・メッセージの可視性を制御していることを説明していることに言及します有効な選択肢は、[hidden]="name.valid || name.pristine"(これはtouchedに依存しません)。私は同じことを達成したいが、ドキュメントで使われているBoostrapの代わりにMaterialを使う。

2つの入力コントロールがあるライブサンプルについては、Plunkerをご覧ください。それぞれ2文字以上必要です。ユーザーが最初の文字を入力した直後にエラーを表示したい。最初の入力コントロールはmd-errorを使用していますが、目的の動作を得ることができません。 第二入力制御用途及び一つ*ngIfを使用することによってこれを達成することができmd-hint高齢策:MD-エラーが表示されるべきとき

<md-hint *ngIf="fc2.dirty && fc2.invalid"> 
    Name must be at least 2 characters. 
</md-hint> 

答えて

0

いいえ、カスタマイズすることは不可能です。したがって、私はこれをfeature requestとして提出しました。

を変更したいすべてのコントロールが汚れたときに、コンストラクタで触れたようHopScotch47がコントロールを設定するためのGitHubの上で良い回避策を与えた@エラーは、直接示さなければならないということである場合:

const ctrl = this.form.controls['ctrlName']; 
ctrl.markAsTouched(); 
関連する問題