Установите значение не менее 0 в FormArray Reactive Forms

Я успешно реализовал значение в поле ввода, чтобы оно было не меньше 1 в поле "amountControl" formControlName. Однако моя проблема, когда на форме Array. Как установить значение не менее 0 или не должно быть отрицательным числом?

Вот код ниже и ссылка на мой стек

this.inquiryForm.get('quantityControl').valueChanges.pipe(
          filter(quantity => quantity < 1)
    ).subscribe(value => {
      console.log(value);

      this.inquiryForm.get('quantityControl').setValue(1);
    });

1 ответ

Для лучшего понимания формы проверьте здесь.

Используйте compose(), чтобы настроить поле ввода с несколькими пользовательскими проверками.

this.form = formBuilder.group({
        formControlNameValue:['', Validators.compose([Validators.required, positiveVal ])
        ]});

и реализовать PositiveVal

static positiveVal(control:Control):{ [key: string]: any; } {
  if (Number(control.value) < 0) {
    return {nonZero: true};
  } else {
    return null;
  }
}
Другие вопросы по тегам