如何在Angular 2中获得单个表单字段的有效性?

时间:2016-07-13 16:12:01

标签: angular angular2-forms

注意:这与<{3}}

上的其他问题 相同的问题

这是我的代码(Angular 2 rc2 app with deprecated forms):

<form #myForm="ngForm">
    <input id="inputControlX" ngControl="inputControlX" pattern="abcd">
    {{inputControlX.valid}}
</form>

inputControlX 已正确验证(ng-invalid类被添加到输入中)。 但是当我添加

 {{inputControlX.valid}}

{{myForm.inputControlX.valid}}

{{ngForm.inputControlX.valid}}

我一直收到错误:无法读取未定义的属性。 另一方面,添加(如https://stackoverflow.com/questions/38356330/how-to-use-pattern-validation-in-angular-2-based-on-ngmodel-template-model-driv #inputControlX =“ngForm”,使其工作(即使没有ngControl)

为什么这有必要?

1 个答案:

答案 0 :(得分:1)

您必须在此处使用setRepeatMode(ValueAnimator.INFINITE); 运算符/ Elvis指令,因为当angular尝试评估页面的绑定时,ngIf对象尚未初始化。因此,在评估myForm表达式时,myForm.inputControlX.valid对象未定义该时间,因此会引发错误。

myForm