Я использую реактивную форму и использую следующий код для создания моей формы.
this.courseForm = this.formBuilder.group({
courseCode: ['', Validators.required],
courseName: ['', Validators.required],
coursePurpose: [''],
courseDescription: [''],
automaticNotifications: [false],
courseStartDate: [null],
courseEndDate: [null]
}, {validators: [CourseDatesValidator('courseStartDate', 'courseEndDate')]});
Я хотел бы установить и очистить CourseDatesValidator динамически. Может кто-нибудь помочь, как добиться этого.
Я знаю, как установить и очистить отдельный валидатор formcontrol, как показано ниже:
setCompletion(statusType: string): void {
const completedDateControl = this.statusForm.get('completedDate');
if (statusType === 'COMPLETE') {
completedDateControl.setValidators([Validators.required, (control) => DateValidator.noFutureDate(control)]);
} else {
completedDateControl.clearValidators();
}
completedDateControl.updateValueAndValidity();
}