Angular2表单验证错误

时间:2016-07-10 22:34:29

标签: angular

这是一种简单的形式:

<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

1 个答案:

答案 0 :(得分:0)

我假设fname.errors不包含任何错误,undefinedngIf。输入至少2个字符时就是这种情况。但是,minlength会定期评估,因此访问undefined的{​​{1}}会引发异常。

如果你像这样编辑你的plunkr,代码可以工作:

*ngIf="fname.errors?.minlength"