J'ai essayé de confirmer le mot de passe avec une valeur de mot de passe. J'ai fait selon la norme de validation Async. Mais je me demande si cela ne fonctionne pas et me lance l'erreur suivante. Veuillez indiquer à quiconque comment résoudre cette erreur.
Le validateur devrait retourner Promise ou Observable.
Voici mon code.
Validateurs d'appels:
cPass: ['', Validators.compose([
Validators.required,
Validators.maxLength(32),
Validators.minLength(10)
]),
this.validPassword.bind(this)
]
Fonction de validation personnalisée:
validPassword(control: AbstractControl) {
const isEqual = Observable.of(this.password == control.value);
return isEqual ? { valid : true } : null;
}
L'erreur parle d'elle-même:
Le validateur devrait retourner Promise ou Observable.
Vous revenez object|null
dans votre function
.
Changez-le simplement en:
validPassword(control: AbstractControl) {
return observableOf('12345678910' === control.value).pipe(
map(result => result ? { invalid: true } : null)
);
}