Ну, я думаю, я попробую.
Лучше всего создать пользовательский Validator
(в вашем отдельном файле для разделения), а затем применить Validator
к formBuilder
validator
глобальные параметры.
Пример:
has-no-value.validator.ts :
import { FormGroup } from '@angular/forms';
export const hasNoValue = (controlName: string, matchingControlName: string) => {
return (formGroup: FormGroup) => {
const control = formGroup.controls[controlName];
const matchingControl = formGroup.controls[matchingControlName];
if (control.value === '') {
matchingControl.setErrors(null);
}
}
}
app.component.ts :
ngOnInit() {
this.form = this.formBuilder.group({
income: ['', [Validators.required]],
period: ['', [Validators.required]]
}, {
validator: hasNoValue('income', 'period')
});
}
Рабочий пример: https://stackblitz.com/edit/angular-rd15bu