我有以下表格控件,我可以编写最简单的异步验证器:
this.aliasCtrl = this._fb.control('', [(control: AbstractControl) => {
return new Promise(resolve => {
console.log(this.aliasCtrl);
resolve(null);
});
}]);
我的表单定义是:
this.contactForm = this._fb.group({
alias: this.aliasCtrl
});
我的表单控件始终无效。 这是一个掠夺者:http://plnkr.co/edit/vyr48ke7fWEUwrXy43tn?p=preview 我确定我错过了一些东西,但我找不到。
感谢您的帮助。
答案 0 :(得分:4)
将代码更改为:
this.aliasCtrl = this._fb.control('', null, (control: AbstractControl) => {
return new Promise(resolve => {
console.log(this.aliasCtrl);
resolve(null);
});
});
为validators
(第二个参数)传递null或空数组,并将async validator函数作为第三个参数传递。
经过测试......工作!