2017-01-09 74 views
5

下面的和平代码在浏览器中正常工作。如何在离子形式中显示错误信息2

这里是我的.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> 

这里是我的.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) ])) 
    }) 

当我尝试建立我的项目(`离子构建Android')我在下面

得到错误

属性'firstname'不存在于类型'{[key string]: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 

回答

6

您需要访问formControls这样:

myForm.controls['firstname'] 

更改您的p标签到:

<p *ngIf="myForm.controls['firstname'].errors && myForm.controls['firstname'].dirty "> 
+0

我会用myForm.controls ['firstname']。touch,因此在使用前它不显示错误信息r已输入信息并切换到另一个字段。 –