mafortis
mafortis

Reputation: 7128

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

one

<ion-input type="number" min="1" inputmode="numeric" formControlName="amount" placeholder="{{ 'SAVINGS.amount' | translate }}" ></ion-input>

Any idea?

Upvotes: 11

Views: 18712

Answers (2)

Kamran Khatti
Kamran Khatti

Reputation: 4127

You can try Angular Reactive form pattern validator

this.savingData = this.formBuilder.group({
  amount: ['', [Validators.required, Validators.pattern("^[0-9]*$")]], // only numbers
});

Upvotes: 21

Oleg Postoev
Oleg Postoev

Reputation: 341

Try to use pattern like \d+. It is in Validators.pattern()

Upvotes: 2

Related Questions