Пользовательское значение элемента управления формы валидатора сохраняет ранее добавленное значение даже после удаления поля- Angular - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть поле дохода и значок удаления, кроме него. Я могу добавить и удалить поле из пользовательского интерфейса, используя другое раскрывающееся поле. Я использую пользовательский валидатор для проверки поля дохода. Проблема в том, что, как только я добавил поле дохода и ввел в него значение (скажем, 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.
}
}
...