我具有以下表单控件以及我可以编写的最简单的异步验证器:
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 我确定我错过了一些东西,但是我找不到。
感谢帮助。
将代码更改为:
this.aliasCtrl = this._fb.control('', null, (control: AbstractControl) => { return new Promise(resolve => { console.log(this.aliasCtrl); resolve(null); }); });
为validators
(第二个参数)传递null或空数组,并将异步验证器函数作为第三个参数。
经过测试...有效!