Regex mot de passe ne fonctionne pas

Par Jean Sérien, il y a 2 ans


Bonjour à tous,

Je n'arrive pas à savoir pourquoi cette Regex de mot de passe ne fonctionne pas, elle est sensée contrôler :

-Au minimum 8 caractères

J'ai essayé sur regex101 et il me signale le no match dès le début si je prends par exemple "Coucou1!' ... Que fais-je mal ?

Merci

pattern: '^$S*(?=S{8,})(?=S*[a-z])(?=S*[A-Z])(?=S*[d])(?=S*[W])S*$', match: true, message: "Votre mot de passe doit comporter au moins huit caractères, dont des lettres majuscules et minuscules,ne pas contenir d'espace, et au moins un chiffre et un symbole !@#$%&*()-+=^." ),```

2 réponses

Grafikart, il y a 2 ans

Compliqué la regex, attention parfois il y a des choses qui ne sont pas supporté par JS (donc regex101) mais je ne sais pas si c'est le cas ici.

Jean Sérien, il y a 2 ans

Bonjour à tous et merci pour votre réponse...

En plus du fait que la pattern ne semble rien faire, j'observe que le mot de passe est hashé et quand même enregistré en bdd... Pourtant le formulaire utilise bien if() issubmitted() et isvalid() et j'ai le message d'erreur personnalisé affiché ...

Le formulaire n'étant pas validé pourquoi enregistre t'il quand même les données en bdd ? (J'utilise le security-bundle).
J'ai oublié de mentionner que je suis sous Symfony 6.2.

C'est bizarre non ?