相关疑难解决方法(0)

Angular 2条件Validators.required?

我应该如何有条件地要求表格字段?我创建了一个自定义验证器,但是我传递给自定义验证器的条件变量是静态的并保持其初始值.我的自定义验证器应该如何获得更新的条件值?也许有一种方法可以用Validators.required而不是自定义验证器来做到这一点?

private foo: boolean = false;
private bar: boolean = true;

constructor(private _fb: FormBuilder) {
    function conditionalRequired(...conditions: boolean[]) {
      return (control: Control): { [s: string]: boolean } => {
        let required: boolean = true;
        for (var i = 0; i < conditions.length; i++) {
          if (conditions[i] === false) {
            required = false;
          }
        }
        if (required && !control.value) {
          return { required: true }
        }
      }
    }
    this.applyForm = _fb.group({
          'firstName': ['', Validators.compose([
            conditionalRequired(this.foo, !this.bar)
          ])],
          ...
    }); …
Run Code Online (Sandbox Code Playgroud)

typescript angular

34
推荐指数
3
解决办法
3万
查看次数

标签 统计

angular ×1

typescript ×1