Попытка добавить валидатор в зависимости от некоторых условий. Когда условие истинно, я добавляю требуемый валидатор и удаляю его, когда оно ложно.
createReactiveForm(data: any) {
const formGroup = new FormGroup({
'control1': new FormControl(data.key1),
'control2': new FormControl(data.key2)
}, this.formValidators.bind(this)),
}
formValidators(formGroup: FormGroup){
const control1Val: boolean = formGroup.controls['control1'].value;
if (control1Val) {
const control2: AbstractControl = formGroup.controls['control2'];
constrol2.setValidators(Validators.required);
} else {
const control2: AbstractControl = formGroup.controls['control2'];
constrol2.setValidators(() => null);
}
}
Метод formValidators () вызывается бесконечное число раз - делаю ли я здесь что-то не так?
Когда условие истинно, оно добавляет валидаторы и отображает ошибку. Но когда условие ложно, валидаторы удаляются, но ошибка в элементе управления все еще существует - в чем причина?
Это хороший способ связать метод formValidators () в formGroup?
Помогите мне в этом.