Bonjour,

Je cherche à ajouter une condition sur un champs de mon formulaire de modification de mot de passe.

Mon mot de passe peut être modifié seulement si l'ancien mot de passe est saissi (quand l'utilisateur est connecter)

Ancien mot de passe :
Nouveau mot de passe :
Confirmation nouveau mot de passe :

J'ai donc ajouté dans mon entity passwordOld
j'aimerais ajouter une vérification su mon passwordOld

Comment je peux faire pour dire que le champs est valide seulement si le mots de passe correspond bien a l'ancien ?
De façon que cela m'affiche le message d'erreur comme sur les autres champs.

Pour info je suis sur Symfony 4 et j'utilise Boostrap 4

1 réponse


aka-aka
Auteur
Réponse acceptée

J'ai résolu mon problème. Je poste la solution pour ceux qui sont dans le même cas que moi. ;-)

Dans mon controller jai ajouter la condition qui génere mon erreur. Puis je lai envoyer a mon formulaire comme ceci :

 if (!$passwordEncoder->isPasswordValid($user, $form->get('passwordCheck')->getData())) {
            $form->get('passwordCheck')->addError(new FormError('Le mot de passe ne correspond pas a celui actuel'));
        }

Puis comme d'hab...

if ($form->isSubmitted() && $form->isValid()) {
    ...
 }