Verification des forms pour un mot de passe
Bonjour tout le monde!
Dans ma situation je souhaite de vérifier si 2 mots de passe sont identiques avant de les envoyés au serveurs. Mais pour une raison que je ne sais pas encore je n'arrive pas à accéder aux variables que je souhaite.
Tout d'abord, voici la form :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| ngOnInit() {
this.passwordForm = new FormGroup({
currentPassword: new FormControl(this.currentPassword, Validators.required),
newPassword: new FormControl(this.newPassword, Validators.compose([Validators.required, Validators.minLength(5)])),
confirmNewPassword: new FormControl(this.confirmNewPassword, Validators.compose([
Validators.required,
PasswordConfirmValidations.passwordNotMatch
]))
});
} |
Tout ce qui à de plus normale. Mais ce que je voudrais c'est de vérifier que ma méthode "passwordNotMatch" (qui est statique) vérifie si les 2 champs que je souhaite vérifier sont identiques.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import { FormGroup } from '@angular/forms';
export class PasswordConfirmValidations {
static passwordNotMatch(control: FormGroup) {
const newPassword = control.get('newPassword').value; // je pense que c'est eux que j'arrive pas à récupérer
const repeatPassword = control.get('confirmNewPassword').value; // je pense que c'est eux que j'arrive pas à récupérer
if (newPassword === '' || repeatPassword === '') {
return null;
}
if (newPassword !== repeatPassword) {
return { NotMatch: true };
}
return null;
}
} |
Je l'ai mis en commentaire au dessus, newPassword et confirmNewPassword sont inaccessible.
Si quelqu'un aurait la solution merci d'avance! Aussi je tiens à ma méthode statique je trouve ça beaucoup plus propre car mon programme est assez gros déjà.