Мне нужно сравнить amount
с applied_amount
. Однако они находятся на разных элементах управления, но находятся в одной и той же группе форм. Как мне проверить, больше ли «сумма», чем «applied_amount»? Вот код ниже.
this.reportForm = this.fb.group({
employee_id: [null, Validators.required],
outlet_id: [null, Validators.required],
grand_total: new FormControl({value: null, disabled: true}, Validators.required),
rows: this.fb.array([]),
applied_amount: [null, Validators.required],
});
initGroup() {
let rows = this.reportForm.get('rows') as FormArray;
rows.push(this.fb.group({
expense_account: ['', Validators.required],
description: ['', Validators.required],
amount: ['', Validators.required],
},{validator: this.customValidator(rows)}))
}
customValidator(group: any) {
if ((group.controls.amount.value > group.parent.parent.controls.applied_amount.value)) {
return { out1: true }
}
return null;
}