У меня есть поле дохода и значок удаления, кроме него. Я могу добавить и удалить поле из пользовательского интерфейса, используя другое раскрывающееся поле. Я использую пользовательский валидатор для проверки поля дохода. Проблема в том, что, как только я добавил поле дохода и ввел в него значение (скажем, 1), а затем удалил его, используя значок удаления, обновленное значение (которое теперь '') поле дохода после удаления поля не передается в пользовательский валидатор formcontrol. В результате проверка не проходит. Ниже приведен код.
home.component. html:
<app-income-field placeholder="Business income" [value]="userInputs.incomeInfo.businessIncome"
type="number" name="businessIncome" (textValue)="getTextValue($event, 'businessIncome')"
[showDeleteIcon]="true" [parentForm]="additional_info_form" (deleteIncomeField)="deleteIncomeField(1)">
</app-income-field>
home.component.ts:
buildFormGroup(): void {
businessIncome: new FormControl(this.userInputs.incomeInfo.businessIncome)
}
getTextValue(event, fieldname) {
if (event == 0) {
event = "";
}
switch (fieldname) {
case 'businessIncome':
this.userInputs.incomeInfo.businessIncome = event;
break;
}
}
Custom validator:
export class SalaryIncomeValidation {
static SalaryIncomePattern(AC: AbstractControl) {
const businessIncome = (AC.get('businessIncome').value); // after the deleting the field and again adding it back still retains the previously added value.
}
}