2017-11-04 20 views
2

私の悪い英語のために申し訳ありません。Angular2非同期バリデータ

私はこの

asyncValidator(control:FormControl):Promise<any>{ 
    const promise = new Promise<any>(
     (resolve, reject) =>{ 
     setTimeout(() => { 
      console.log("it works"); 
      resolve(null); 
     },5000); 
     } 
    ); 
    return promise; 
    } 

ように私の角度アプリケーションでカスタム非同期検証を使用しようとしている私はこのように私の反応型宣言:(asyncValidatorは常に解決したとしても、かかわらず、

this.customForm = this.formbuilder.group({ 
     'userData': this.formbuilder.group({ 
     'name': ['',this.asyncValidator], 
     'email': [''], 
     }), 
     'pass': [''], 
     'gender': ['male'], 
     'hobbies': this.formbuilder.array([ 
     ['Reading'] 
     ]) 
    }) 

をnullの場合)、名前入力にはまだng-invalidクラスがあります。

enter image description here

答えて

1

あなたは間違ってあなたの非同期バリデータを置きます。

それでなければならない:

'name': ['', null, this.asyncValidator], 
     (1) (2)   (3)  

ここ

(1) - 制御値

(2) - 同期バリ

(3) - 非同期バリ

Stackblitz example

+0

ありがとう、それは動作します!!!! :D –

+0

あなたは大歓迎です! – yurzui

関連する問題