Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show error message on forms in ionic 2

The below peace of code works fine in browser.

Here is my .html

 <ion-item>
   <ion-label primary floating>FIRST NAME</ion-label>
   <ion-input type="text" id="firstname" class="form-control" formControlName="firstname"></ion-input>
 </ion-item>

 <p *ngIf="myForm.controls.firstname.errors && myForm.controls.firstname.dirty ">
    <small class="up">
      <strong> <i> Min 3 chars</i></strong>
    </small>
 </p>

here is my .ts file

this.myForm =  new FormGroup({
            'firstname'      : new FormControl('',[Validators.required,Validators.minLength(3),Validators.maxLength(10)]),
            'lastname'       : new FormControl('', [Validators.required,Validators.minLength(1),Validators.maxLength(10)]),
            'useridphone'    : new FormControl('', [Validators.required,Validators.minLength(10),Validators.maxLength(10)]),
            'password'       : new FormControl('',Validators.compose([Validators.required,Validators.minLength(4),Validators.maxLength(25),
                               Validators.pattern(this.passwordRegex)])),
            'confirmpassword': new FormControl('',Validators.required),
            'email'          : new FormControl( '', Validators.compose([ Validators.required, Validators.pattern(this.emailRegex) ]) )
    })

When i try to build my project (`ionic build android') i am getting error in below

Property 'firstname' does not exist on type '{ [key string]: AbstractControl; }'.

here is my ionic info

Cordova CLI: 6.3.0 
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.14
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.4
Node Version: v6.0.0
Xcode version: Not installed
like image 553
Mohan Gopi Avatar asked Jan 09 '17 07:01

Mohan Gopi


1 Answers

You need to access formControls this way:

myForm.controls['firstname']

Change your p tag to:

<p *ngIf="myForm.controls['firstname'].errors && myForm.controls['firstname'].dirty ">
like image 73
Suraj Rao Avatar answered Sep 28 '22 22:09

Suraj Rao