我有反应形式,其中一个字段用户只能输入正数非十进制数。
this.projectForm = new FormGroup({
'id': new FormControl(null, [Validators.required]),
'name': new FormControl(null, [Validators.required]),
'seqNo': new FormControl(null, [Validators.required, Validators.pattern(/^[1-9]+[0-9]*$/)])
});
当我将其保留为输入类型文本时,两个验证都会触发而没有任何问题。除了正整数外,我无法输入。
<input type="text" id="seqNo" class="form-control" placeholder="Seq No" formControlName="seqNo" min="1" step="1">
<span class="mwk-validation-error form-text" *ngIf="!projectForm.get('seqNo').valid && projectForm.get('seqNo').errors?.required">Seq no is required!</span>
<span class="mwk-validation-error form-text" *ngIf="!projectForm.get('seqNo').valid && !projectForm.get('seqNo').errors?.required">Seq no must be positive number</span>
我想在这里使用输入类型=数字。问题是
- 在字母表上,它认为没有输入任何内容,因此需要显示。
- 它让我输入一个十进制值,模式验证不会为我触发
如何解决这个问题?我不想编写自定义验证,因为对于字母它不会触发任何方式。