简体   繁体   English

角度/形式整数验证器

[英]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)?如何验证我的数字输入字段只接受整数而不是任何类型的十进制数(逗号/点)?

Code代码

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM