我可以有條件地在Angular 2反應形式中實現驗證。我有3個formControl字段的反應形式一個是選擇,另外兩個是名字和姓氏的輸入文本。我希望有條件地根據第一個字段'validateBy'的選擇來實現名字和姓氏的驗證。如果用戶選擇'byFirstName',則只應驗證firstName。如果用戶選擇「byLastName」,則只應驗證lastName。如果用戶選擇「byBoth」,則應驗證firstName和lastName。我爲此創造了一個蹲點。只有通過兩個驗證的作品。有條件地在Angular 2反應形式的表單域中實現驗證
ngOnInit() {
this.myForm = this._fb.group({
validateBy: ['byFirstName'],
firstName: ['', isFirstNameValid(() => (this.validateBy === 'byFirstName' || this.validateBy === 'byBoth'),
Validators.required)],
lastName: ['', isLastNameValid(() => (this.validateBy === 'byLastName' || this.validateBy === 'byBoth'),
Validators.required)],
});
https://plnkr.co/edit/X0zOGf?p=preview
工作,你可以,如果你編寫自定義指令驗證 –