响应式表单验证器。必填不允许值为0

时间:2019-10-29 13:05:07

标签: angular angular-reactive-forms

inputField: new FormControl('', [Validators.required])

当用户在字段中输入“ 0”时,所需的错误将应用于控件。

零应视为一个值。

2 个答案:

答案 0 :(得分:1)

你在某个地方弄错了。

stackblitz显示0符合要求的验证者:https://stackblitz.com/edit/angular-bmqvtq?file=src/app/app.component.ts

答案 1 :(得分:0)

默认情况下,如果您在formControl元素中输入任何内容,则角度形式会将其视为真实值-

inputField: new FormControl(0, [Validators.required])  //valid
inputField: new FormControl('', [Validators.required])  //invalid

但是,可以的,您也可以添加一些正则表达式模式以仅检查0的值匹配,例如-

inputField = new FormControl(0, [Validators.required, Validators.pattern(/^[1-9]*$/)])