パスワード値でパスワードを確認しようとしました。私は非同期バリデーター標準に従ってやった。しかし、私はそれが機能していないと思っており、次のエラーをスローします。このエラーを解決する方法を誰かに教えてください。
PromiseまたはObservableを返すためのバリデーターが必要です。
これが私のコードです。
呼び出し検証ツール:
cPass: ['', Validators.compose([
Validators.required,
Validators.maxLength(32),
Validators.minLength(10)
]),
this.validPassword.bind(this)
]
カスタム検証機能:
validPassword(control: AbstractControl) {
const isEqual = Observable.of(this.password == control.value);
return isEqual ? { valid : true } : null;
}
エラーはそれ自体を物語っています:
PromiseまたはObservableを返すためのバリデーターが必要です。
function
でobject|null
を返しています。
次のように変更します。
validPassword(control: AbstractControl) {
return observableOf('12345678910' === control.value).pipe(
map(result => result ? { invalid: true } : null)
);
}