Установите значение не менее 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;
}
}