5

パスワードの値でパスワードを確認しようとしました。私はAsyncバリデーターの標準に従って行っています。しかし、私はそれが動作していないと思うと私に次のエラーをスローする。誰にでもこのエラーを解決する方法を教えてください。Async Validator ThrowプロミスまたはObservableを返す予想されるバリデータ

PromiseまたはObservableを返すと予想されるバリデーター。

ここは私のコードです。

コールバリ:

cPass: ['', Validators.compose([ 
    Validators.required, 
    Validators.maxLength(32), 
    Validators.minLength(10) 
]), 
    this.validPassword.bind(this) 
] 

カスタム検証のfunciton:

validPassword(control: AbstractControl) {    
    const isEqual = Observable.of(this.password == control.value); 
    return isEqual ? { valid : true } : null;   
} 

答えて

8

エラーが自身のために語っています:バリデータは、約束や観測を返すように期待

functionにはobject|nullが返されます。

だけのように変更します。

validPassword(control: AbstractControl) { 
    return observableOf('12345678910' === control.value).pipe(
    map(result => result ? { invalid: true } : null) 
); 
} 

STABKBLITZ DEMO

関連する問題