这是一种简单的形式:
<form [ngFormModel]="myForm">
<input type="text" [ngFormControl]="fname" placeholder="First Name"/>
<div *ngIf="fname.errors.minlength">First name should be atleast 2 characters</div>
</form>
当输入&lt; 时,它应该显示错误。 2个字符
问题: 首次输入字符时,会显示错误。 键入第二个字符的那一刻,有一大堆控制台错误
不能理解为什么会这样。
请参阅此处的plnkr:http://plnkr.co/edit/XUsUJzsc791oiuDDo0Pd?p=preview
答案 0 :(得分:0)
我假设fname.errors
不包含任何错误,undefined
为ngIf
。输入至少2个字符时就是这种情况。但是,minlength
会定期评估,因此访问undefined
的{{1}}会引发异常。
如果你像这样编辑你的plunkr,代码可以工作:
*ngIf="fname.errors?.minlength"