如何在离子2中的表单上显示错误消息

Moh*_*opi 5 forms validation ionic2 angular

下面的代码和平在浏览器中工作正常.

这是我的.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>
Run Code Online (Sandbox Code Playgroud)

这是我的.ts文件

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) ]) )
    })
Run Code Online (Sandbox Code Playgroud)

当我尝试构建我的项目(`ionic build android')时,我在下面收到错误

类型'{[key string]上不存在属性'firstname':AbstractControl; }".

这是我的 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
Run Code Online (Sandbox Code Playgroud)

Sur*_*Rao 6

您需要以这种方式访问​​formControl:

myForm.controls['firstname']
Run Code Online (Sandbox Code Playgroud)

将您的p标签更改为:

<p *ngIf="myForm.controls['firstname'].errors && myForm.controls['firstname'].dirty ">
Run Code Online (Sandbox Code Playgroud)