Angular2 - Validators.compose

Luk*_*lje 2 angular2-forms angular

我遇到了这个Validators.compose函数的问题(没有错误,只是没有验证)

这是我的代码:

  var validators = ()=> {
           var validatorArr = [];                
           validatorArr.push(Validators.required);
           validatorArr.push(Validators.maxLength(column.max));
           return Validators.compose(validatorArr);
    };
  var ctrl: Control = new Control(row.items[column.mapper], validators);
  row.form.addControl(column.mapper, ctrl);
Run Code Online (Sandbox Code Playgroud)

当我把Validators.required而不是validators函数,验证工作.

Thi*_*ier 7

您应该使用此代码,而不是使用回调来定义验证器:

var validatorArr = [];                
validatorArr.push(Validators.required);
validatorArr.push(Validators.maxLength(column.max));

var ctrl: Control = new Control(row.items[column.mapper], 
                   Validators.compose(validatorArr));
row.form.addControl(column.mapper, ctrl);
Run Code Online (Sandbox Code Playgroud)

Control构造函数的第二个参数对应于可以使用该compose方法创建的函数...

  • 不应该是`Validators.compose(validatorArr)`? (2认同)