Bonjour,
J'ai une page inscription/Connexion où j ai deux formulaire: un pour la connection et un pour l inscription.
Mon probleme est que lorsque je fait la validation pour mon inscription mon message d'erreur s affiche sur mes deux formulaires.
Exemple: lorsque je met un mail qui ne respecte pas la condition 'rule' => 'email' mon message d erreur apparais à la fois sur le champs mail de ma connexion et celui de mon inscription.
Existe t il une solution pour séparer les deux champs?

10 réponses


je pense qu'il faut renomé tes champs ainsi:
Model.0.fieldname
donc si tu utilise le model connecion pr la gestion de ta connexion tu faie Connexion.0.mail
et pour l'autre champ tu met son model donc de la même façon

Les formulaires inscription et connexion utilise la table users donc le model est bien User pour les deux non?

Personne à une petite idée?

J'ai le même soucis que toi sauf que moi j'ai deux modèle bien différent, en ce qui te concerne essaye de regarder du coté du projet Xeta qui réalise exactement la même chose, et qui à créer un projet (test), avec Cake3.

ok dans ce cas tu crée un champ qui nexiste pas dans tons formhelper (mail1 pour linput de la connexion et mail2 pour linput de l'inscription) dans ton model user, tu mest les conditions de validation sur mail1(rule=> emial,etc..) et mail2(rule => email, etc...)

Les inputs se mette dans la vue, mais la réponse donnée plus haut si j'ai bien compris la doc est compatible que si tu as deux modèle différents donc deux tables, toi tu as le même modèle pour les deux formes donc regarde ce projet Xeta

J ai pensé ne pas afficher par defaut le message d erreur mais les transmettre a ma vue sous forme de tableau en utilisant la methode set
Celà me permet aussi de mettre l'erreur au dessus de l'input et comme sa reussir a filtrer . Qu en pensez vous?

bien sur c'est l'idéal, mais çè pas cela qui va résoudre le problème vu que tout tes deux forms st ds une même vue.

si si j ai reussi car j affiches les erreurs à la main mais merci pour les infos sa m'a aidé pour infos mail1(rule=> emial,etc..) et mail2(rule => email, etc...) marche pas car ça fait reference au mail de la BDD et pas des vues

Si je peux me permettre, évite d'afficher les messages d'erreur pour la connexion un message générique en cas d'erreur de type "mot de passe et/ou pseudo incorrect" sera parfait si tu commences à sortir des formats de l'identifiant incorrect ou mot de passe ne correspond pas tu inciteras les hackers à s'amuser et en prime ça résout ton problème. D'une pierre deux coups :p