我試圖找到鏈接兩個組件的驗證的最佳方法。以angular2形式輸入之間的驗證依賴關係?
說我有兩個複選框。 我想要第二個輸入僅在第一個輸入被選中時才需要。
我剛剛開始驗證,我不確定我該如何做到這一點。
我想我可以在使用模型驅動窗體時更改我的component.ts文件中的驗證規則。
這是處理這個問題的好方法嗎?還是有幫手來處理這種情況?
我試圖找到鏈接兩個組件的驗證的最佳方法。以angular2形式輸入之間的驗證依賴關係?
說我有兩個複選框。 我想要第二個輸入僅在第一個輸入被選中時才需要。
我剛剛開始驗證,我不確定我該如何做到這一點。
我想我可以在使用模型驅動窗體時更改我的component.ts文件中的驗證規則。
這是處理這個問題的好方法嗎?還是有幫手來處理這種情況?
聲明一個名爲checbox1checked的變量,併爲其分配一個初始值false。
let checbox1checked:boolean = false;
如果用戶檢查checkbox1,分配checbox1checked的真正價值。
在驗證,看看checkbox2檢查是否checbox1checked是真實的,如果是則顯示checkbox2您的錯誤信息,如果沒有忽略你的checkbox2錯誤消息。
可能是你正在尋找這樣的:
<input type="checkbox2" [attr.required]="checked1">
<input type="checkbox1" [(ngModel)]="checked1">
您可以自定義的驗證規則(https://angular.io/docs/ts/latest/cookbook/form-validation.html#!#custom - 兩個模型字段綁定到兩個複選框。因此,可以判斷模型是否有效不是基於其當前狀態。另一種選擇是定義一個包含兩個複選框的自定義組件,實現ControlValueAccessor接口(https://angular.io/docs/ts/latest/api/forms/index/ControlValueAccessor-interface.html),但這將是矯枉過正恕我直言。這真的取決於你的具體情況。 –