[英]angular/forms integer validator
How can I validate my numeric input field to only accept integer and not any kind of decimal numbers (comma / dot)?如何验证我的数字输入字段只接受整数而不是任何类型的十进制数(逗号/点)?
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>
Any idea?任何的想法?
You can try Angular Reactive form pattern validator您可以尝试 Angular Reactive 表单模式验证器
this.savingData = this.formBuilder.group({
amount: ['', [Validators.required, Validators.pattern("^[0-9]*$")]], // only numbers
});
Try to use pattern like \\d+
.尝试使用像\\d+
这样的模式。 It is in Validators.pattern()
它在Validators.pattern()
Validators.pattern('^[^ ][0-9 ]+[^ ]$')
, allows numeric values only. Validators.pattern('^[^ ][0-9 ]+[^ ]$')
,仅允许数字值。 Also validates a field with not allowing spaces in the beginning or ending.还验证不允许在开头或结尾有空格的字段。
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
this.savingData = this.formBuilder.group({
amount: ['', [Validators.required, Validators.pattern('^[^ ][0-9 ]+[^ ]$')]]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.