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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ])) }); }
Je l'ai mis en commentaire au dessus, newPassword et confirmNewPassword sont inaccessible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
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à.
Partager