我在使用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);
当我放
Validators.required
而不是validators
函数时,验证有效。 最佳答案
您应该使用以下代码,而不是使用回调定义验证器:
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);
Control
构造函数的第二个参数对应于可以使用compose
方法创建的函数...