表单生成与hasError()进行验证抛出错误类型错误的错误:无法读取未定义

问题描述:

你好我在执行中component.ts使用表单生成表单生成与hasError()进行验证抛出错误类型错误的错误:无法读取未定义

在角2形式我已经实现的特性“hasError”我使用formGroup

形式下面是我的代码

public myForm: FormGroup; 

constructor(private authenticateservice: AuthenticateService, 
       private _fb: FormBuilder 
      ) { 


} 

ngOnInit() { 

this.myForm = this._fb.group({ 
     address: [this.userDetails.address, [<any>Validators.required]], 
     address2: ['', [<any>Validators.required]], 
     city: ['', [<any>Validators.required]], 
     company_address: ['', [<any>Validators.required]], 
     company_address2: ['', [<any>Validators.required]], 
     company_city: ['', [<any>Validators.required]], 
     company_country: ['', [<any>Validators.required]], 
     company: ['', [<any>Validators.required , Validators.minLength(3)] ], 
     company_tax_number: ['', [<any>Validators.required]], 
     company_zip: ['', [<any>Validators.required, Validators.minLength(5) , Validators.maxLength(7)]], 
     country: ['', [<any>Validators.required]], 
     email: ['', [<any>Validators.required, Validators.email]], 
     first_name: [this.userDetails.first_name, [<any>Validators.required]], 
     id: ['', [<any>Validators.required]], 
     last_name: ['', [<any>Validators.required]], 
     phone: ['', [<any>Validators.required, Validators.minLength(10)]], 
     zip: ['', [<any>Validators.required , Validators.minLength(5) , Validators.maxLength(7)]], 
     user_type: ['2', [<any>Validators.required]], 
     terms: [0, [<any>Validators.required]], 
     hash_tag: [''], 

    }); 

} 

这是工作的罚款。但未来在前端显示验证时

我用这样的

<div class="form-group row"> 
    <div class="col-lg-8"> 
     <label>Address 2</label> 
     <textarea class="form-control" placeholder="Address" rows="2" [readonly]="disabled" id="companyaddress2" formControlName="company_address2"></textarea> 
     <span class="help-block form-error text-danger small" *ngIf="myForm.controls['company_address2'].hasError('required')">Company Address 2 is Required.</span> 
    </div> 
    </div> 

这是工作,但引发错误控制台类似下面

错误类型错误:无法读取的未定义的属性“hasError”

请帮我一下如何排序。

谢谢。

你应该使用这样的:

<span class="help-block form-error text-danger small" 
    *ngIf="myForm.controls['company_address2'].errors?.required && 
    myForm.controls['company_address2'].touched">Company Address 2 is Required </span> 
+0

可选的值是什么帮助了我。我的方法有点不同,我使用control?.hasError(“someError”)。谢谢! – kbpontius