1

我已经成功实现了“quantityControl”formControlName中输入字段的值不小于1。但是我的问题是在 formArray 上时。如何将其设置为不少于 0 或不应该是负数?

这是下面的代码和我的 stackblitz CODE LINK的链接

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

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

1 回答 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;
  }
}
于 2018-08-08T11:53:29.560 回答