Мне кажется, что когда я создаю группу форм в angular 5 , вот так:
this.myForm = formBuilder.group({
control1: [null, [Validators.required, Validators.minLength(3)]],
control2: [null, [Validators.required, Validators.minLength(3)]]
},
{
validator: comparisonValidator(
'control1'
'control2',
this.formGroup)
});
установленный мною валидатор группы, в данном случае с именем CompareControls, делаетне применяется к форме при проверке form.isValid
(кажется, что учитываются только отдельные валидаторы элементов управления).
Любые мысли о том, как повлиять на групповой валидатор (сравнение Валидатор)Форма. Допустим, например, валидность формы в целом?
export function comparisonValidator(control1: string, control2: string, group: FormGroup): ValidatorFn {
return (c: AbstractControl): ValidationErrors | null => {
if (group && group.controls) {
const f1 = <AbstractControl>group.get(control1);
const f2 = <AbstractControl>group.get(control2);
if (f1.value >= f2.value) {
return {'case': 'From should be less than To'};
}
}
return null;
};
}