Попытка добавить пользовательский валидатор formValidator()
в группу форм. В зависимости от некоторых условий я устанавливаю ошибки {invalidData: true}
. Но когда условие ложно, установка ошибок на ноль. Для самого control2 необходим валидатор. Если я установлю ошибки в null, он также очистит требуемый валидатор.
См. Приведенный ниже код,
createReactiveForm(data: any) {
const formGroup = new FormGroup({
'control1': new FormControl(data.value1),
'control2': new FormControl(data.value2, [Validators.required])
}, this.formValidator());
}
formValidator(): ValidatorFn {
return (group: FormGroup): ValidationErrors => {
const control1 = group.controls['control1'];
const control2 = group.controls['control2'];
if (control1.value === 'ABC' && control2.value !== 'ABC') {
control2.setErrors({ invalidData: true });
} else {
control2.setErrors(null);
}
return;
};
}
Какое решение для этого? Или я что-то не так делаю в пользовательском валидаторе? Пожалуйста помоги.