1
我正在使用Angular2。我有這個在我的主機部件:跨多個組件的表單驗證
<form #f="ngForm" novalidate (ngSubmit)="save()">
<child [cosField]="cosField" [f]="f"></child>
<button type="submit" [disabled]="!f.valid">Submit</button>
</form>
我有不同的子組件,我從這個組件調用。 在子組件的代碼是:
<input type="text" name="flow" [(ngModel)]="cosField.value" required #name="ngModel"/>
<div [hidden]="name.valid || (!f.submitted)"
class="error">
An error has occurred.
</div>
我要訪問此局部變量f的子組件。基本上用於表單驗證。如果子組件中的某些驗證失敗,則顯示「發生錯誤」消息。但在主組件中,f.valid仍然保持爲真,因此始終啓用提交按鈕。但是,如果我將子組件內聯到主組件中,則一切正常,如果驗證失敗,則提交按鈕將被禁用。 是否有辦法將表單分割爲多個組件,並且仍然能夠使用局部變量f有效地驗證控件?