私は、角度2アプリケーションに取り組んでおり、サブセクションテンプレートで動的に(jsonを使って)フォームフィールドを作成しています。
フォームが無効な場合、送信ボタンを無効にしたいと考えました。
角度2を使った動的フォーム検証
<h1>Form Validation</h1>
<div >
<form #loginForm="ngForm">
<subsection [question]="fieldsData"></subsection>
<button type="submit" [disabled]="!loginForm.form.valid">Submit</button>
</form>
</div>
サブセクションそれは
<div *ngFor="let data of question">
<label> {{data.displayName}}</label>
<input type="data.dataType" name="data.fieldId" [(ngModel)]="data.fieldValue" required name="data.fieldId" #name="ngModel">
<div *ngIf="name.errors && (name.dirty || name.touched)" class="alert alert-danger">
<div [hidden]="!name.errors.required">
Name is required
</div>
</div>
<br><br>
を次のように私はすべての必須フィールドがplunkerリンクを作成して
を満たされた後、送信ボタンを要件を有効にする必要があります持っていますHere
サブセクションテンプレートにロードされます。フィールドを入力としてテンプレートに渡しています –
あなたの入力が子コンポーネントにあるためです。すべてのフィールドが満たされているかどうかを親コンポーネントに通知する必要があります。 1つのコンポーネントにフォーム全体を入れてみませんか? – Gab
@ GabrieleB-Davidあなたは正しいです。 (仮定)私はフォームフィールドを作成するために再利用可能なコンポーネントを使用しています。したがって、親フォーム要素は子フォーム要素を保持していませんか? –