使用rxweb验证程序的@elementClass时找不到名称为“ userName”的控件

时间:2019-07-27 09:57:06

标签: angular validation angular-reactive-forms

我正在使用@ rxweb / reactive-form-validators的@elementClass装饰器,并且出现这样的错误

Cannot find control with name: 'userName'

这是我的模型课

  

export class User {@elementClass({conditionalExpression:   函数(c){返回this.password ==
  “复杂” && c.dirty == true? 'ng-invalid':''; }})   userName:字符串; @prop()密码:字符串;}

这是我的stackblitz。我在此缺少什么?

1 个答案:

答案 0 :(得分:1)

您只需要将@prop()装饰器添加到您的userName formComtrol中。 @elementClass装饰器将有条件地将类设置为formControl。

因此user.model.ts代码将是:

import { prop, elementClass } from "@rxweb/reactive-form-validators"
import { AbstractControl } from "@angular/forms"

export class User {
  @prop()
  @elementClass({
    conditionalExpression: function (c) {
      return this.password == "complex" && c.dirty == true ? 'ng-invalid' : '';
    }
  })

  userName: string;

  @prop()
  password: string;
}

Here是有效的堆叠闪电战