生产版本错误
嗨,我在Angular Project中使用ReactiveForms,当我尝试ng build --prod时,出现以下错误
ng-details/billing-details.component.html (40,6): Property '_touched' is private and only accessible within class 'AbstractControl'.
下面是我的代码,我不知道哪里写错了?
paymentForm = new FormGroup({
companyName: new FormControl('', Validators.minLength(3)),
companyAddress: new FormControl('', Validators.minLength(3)),
gstNumber: new FormControl('', Validators.minLength(3)),
country: new FormControl('', Validators.minLength(3)),
cardNumber: new FormControl('', Validators.pattern('[0-9]{12}')),
cardName: new FormControl('')
});
HTML
<div class="common-error" *ngIf="paymentForm.controls.country._touched && !paymentForm.controls.country.valid"> Please enter Company Name. (Min 3 char)</div>
答案 0 :(得分:1)
为什么您引用_touched
属性而不是touched
属性?
_touched
是Angular的内部实现细节。请仅使用公共变量。
尝试:
paymentForm.controls.country.touched
答案 1 :(得分:1)
您可以在下面的示例中提到的formControl中的User Touched属性。 FormControlName
属性在那里定义输入控件的名称。
<input id="name" class="form-control"
formControlName="name" required >
<div *ngIf="name.invalid && (name.dirty || name.touched)"
class="alert alert-danger">
</div>