【问题标题】:How to do asynchronous validation with Reactive Forms (Angular2 RC3)?如何使用 Reactive Forms (Angular2 RC3) 进行异步验证?
【发布时间】:2017-01-17 14:10:16
【问题描述】:

我发现这个tutorial 可以进行异步验证。这不再适用于 RC3(Reactive Froms)。

这里怎么做异步验证?

this.username = new FormControl( '', [ <any>Validators.required, <any>ProfileValidator.usernameTaken ]);

...

class ProfileValidator {

 static usernameTaken(control: FormControl): Promise<{[key:string]:boolean}> {

   let q = new Promise((resolve, reject) => {
     setTimeout(() => {
       resolve(null);
     }, 1000)
   });

   return q;
 }

}

FormControl 始终无效...

【问题讨论】:

标签: javascript validation asynchronous angular


【解决方案1】:

表单控件的签名应该将异步验证器作为第三个参数,如下所示:

new FormControl( '', 
    [ <any>Validators.required], //sync
    [<any>ProfileValidator.usernameTaken ] //async
    );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 2017-04-08
    • 2017-10-23
    • 2016-07-26
    • 2018-01-10
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    相关资源
    最近更新 更多