2016-11-03 13 views
3

私は、親コンポーネント内のフォームと統合するためにControlValueAccessorインターフェースを使用して、Angular2にカスタムフォームコンポーネントを持っています。これは、コンポーネントが触れられたときにフォームを汚くするためにうまくいきます。カスタムフォームコンポーネントをAngular2でフォーム検証と統合するにはどうすればよいですか?

しかし、コンポーネントでフィールドを取得する方法が見つからず、「必須」と指定されているため、完了していないと親フォームが「無効」になります。

これも可能ですか?

+0

ようこそスタックオーバーフロー!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

2

カスタムフォームコンポーネントに必須属性を設定すると、[(ngModel)]でバインドされた値はすべてそのFormControlで検証されます。

カスタムコンポーネントには多くの入力フィールドが含まれていますか?その場合、そのコンポーネントのカスタム検証を見る必要があると思います。この例は Custom Component validationです。検証ロジックから返された値は親に伝播し、親フォームが有効か無効かに影響します。

カスタムコンポーネントが単一の入力フィールドを囲むラッパーと表示されている場合は、カスタムコンポーネントに必須のマークを付けることができます。無効な場合、FormControl( 'custom')は無効です親のフォームも同様です)。

CustomComponet用のテンプレートが <input />フィールドが含まれてい
<app-custom-component name="custom" [(ngModel)]="model.customValue" required> 
</app-custom-component> 

関連する問題