我在使用 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
方法创建的函数...
关于Angular2 - Validators.compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36656490/