当必需属性为条件且值仍为空时,Angular2将ng-valid类应用于字段

时间:2017-01-13 12:49:56

标签: class templates angular required

我使用了角度2.3.1,我在组件模板中有以下html元素:

<input class="form-control" type="text" id="password" name="password" 
placeholder="Password" [attr.required]="requirePasswd ? true : null"
[(ngModel)]="password">

如果这是一个新用户(id为空),那么我想要输入密码。如果不是新用户,则密码是可选的。

条件属性正在运行,但在有条件地使用时,即使该字段仍然没有值,也会应用ng-valid类。

如果我对所需属性进行硬编码,则angular2会将类设置为ng-invalid,但是当我将其设置为条件且requirePass为true时,即使该元素仍然无效,该元素也始终具有ng-valid类

1 个答案:

答案 0 :(得分:3)

查看Angular 2 source。您将看到required实际上是一个指令,因此您需要使用该语法在此处设置绑定。

它也需要一个值,它不仅必须存在,所以不是传入null而是传递true / false。

[required]="requirePasswd"