私はngFor
に含まれる入力グループを含むテンプレート駆動フォームを持っています。検証を伴うAngular2テンプレート駆動のサブフォームコンポーネント
私は自身の子コンポーネントに繰り返される 'サブグループ'を分離しようとしていますが、子コンポーネントに含まれている検証を親に持つことに問題があります。ngForm
親テンプレート:
<form #parentForm="ngForm">
<input name="firstName" ngModel required>
<input name="lastName" ngModel required>
<child-component *ngFor="let child of children;"></child-component>
</form>
子テンプレート:
<div>
<input name="foo" required ngModel>
<input name="bar" required ngModel>
</div>
私が持っていることはできませんよ。ここ
は、私が何を言っているかの簡易版であります親フォームは子入力のrequired
でピックアップします。
this.parentForm.addFormGroup(this.childForm.form)
しかし、これはまだ動作しません:私は、独自のフォーム内の子供を持つと子供に通過#parentForm
インスタンスを渡し、子の呼び出しを持つ試してみました。
親は子フォームのContentChildren
を取得し、それぞれフォームに追加しますが、それでも検証は機能しません。
サブコンポーネントにControlValueAccessor
を実装させることができますが、実際には検証が行われていないため、カスタムバリデータを実装する必要があります。required
です。
なぜ私は親にサブフォームを追加できず、子の検証を使用できないのか理解してください。
ん問題を解決しない。親コンポーネントの 'valid'ステートは、子コンポーネントの入力の影響を受けません。 – tam5
変更したものを確認してください – Aravind
これは動作しません。私は助けに感謝しますが、あなたの答えがテストされているか、それがうまくいくと信じる強い理由があることを確認してください。 – tam5