【问题标题】:Angular 2 async validator always invalidAngular 2 异步验证器始终无效
【发布时间】:2017-01-23 11:47:34
【问题描述】:

我有以下表单控件和我能写的最简单的异步验证器:

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 我确定我错过了一些东西,但我找不到什么。

感谢您的帮助。

【问题讨论】:

标签: validation angular asynchronous


【解决方案1】:

将代码改为:

this.aliasCtrl = this._fb.control('', null, (control: AbstractControl) => {
  return new Promise(resolve => {
    console.log(this.aliasCtrl);
    resolve(null);
  });
});

为validators(第二个参数)和异步验证器函数传递空或空数组作为第三个参数。

经过测试...有效!

【讨论】:

  • 我们都会犯错! :-)
  • 我们都会犯同样的错误!?。感谢您的回答
猜你喜欢
  • 2019-03-12
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
相关资源
最近更新 更多