Reputation: 164
How to restrict input to numbers only with 2 decimal places if itemNew.UL_DATA and itemNew.LL_DATA equals to 0 or "".
<ion-col col-2>
<input (keypress)="ShowKey();"
[style.display]="itemNew.UL_DATA=='0' && itemNew.LL_DATA=='0'?'none':'inherit'"
style="width: 100%;flex-grow: 1; align-self: flex-end;"
type="text" placeholder="Actual After Value"
[(ngModel)]="itemNew.ACTUAL_VALUE_L"
name="ActualData"
id="ActualData">
</ion-col>
Upvotes: 3
Views: 16603
Reputation: 5265
You can achieve it as follows.
HTML
<form [formGroup]="myForm">
<ion-col>
<input #num formControlName="number" />
<span style="color:red" *ngIf="(
myForm.get('number').hasError('pattern') &&
myForm.get('number').touched)">Invalid input.</span>
</ion-col>
</form>
TS
myForm: FormGroup;
numRegex = /^-?\d*[.,]?\d{0,2}$/;
constructor() {
this.myForm = new FormGroup({
number: new FormControl('', [Validators.required, Validators.pattern(this.numRegex)])
});
}
Upvotes: 12