问题描述
如何验证我的数字输入字段只接受整数而不接受任何类型的十进制数字(逗号/点)?
代码
Component
import { FormGroup,FormBuilder,Validators } from '@angular/forms';
this.savingData = this.formBuilder.group({
amount: ['',Validators.required],// only accept integer 123000
});
HTML
<ion-input type="number" min="1" inputmode="numeric" formControlName="amount" placeholder="{{ 'SAVINGS.amount' | translate }}" ></ion-input>
有什么想法吗?
解决方法
您可以尝试Angular反应形式pattern validator
this.savingData = this.formBuilder.group({
amount: ['',[Validators.required,Validators.pattern("^[0-9]*$")]],// only numbers
});
,
尝试使用\d+
之类的模式。它位于Validators.pattern()
Validators.pattern('^[^ ][0-9 ]+[^ ]$')
,仅允许数字值。还可以验证字段的开头或结尾不允许有空格。
import { FormGroup,FormBuilder,Validators } from '@angular/forms';
this.savingData = this.formBuilder.group({
amount: ['',Validators.pattern('^[^ ][0-9 ]+[^ ]$')]]
});