Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-04-2009 14:47:39

lagalere
Membre
Date d'inscription: 20-04-2009
Messages: 22

Les messages d'erreur des formulaires

Bonjour à tous, débutant avec Zend Framework je suis confronté à quelques difficultés...

Je vous explique le principe...

J'ai un controller qui contient une action (Ajoutxxx). Cette action transmet mon formulaire à une vue. Pour des raison pratique, l'action de mon formulaire est une autre action de mon controller (ProcessAjoutxxx). Je teste correctement tous mes champs en jquery directement, donc logiquement mes formulaires sont tout le temps valides, sauf bien sur en cas de javascript desactivé. D'où les controle coté serveur via Zend_Form directement.

Dans mon action de Process je test la validité de mes formulaires au cas ou... comme suis :

Code:

if (!$form->isValid($_POST))
        {
                CAS 1
            $this->_redirector->gotoUrl('/'); => PROBLEME!!!
        } else {
            //Récupération des données du formulaire de demande de devis
            if ($this->_request->isPost()) {

               }
        }
}

Ce que je ne sais pas faire (je ne connais pas la méthode et je ne trouve rien d'expliquer clairement). C'est, si je suis dans le cas 1, rediriger mes utilisateurs vers ma première page de formulaire avec un message d'erreur... La solution simple serait de passer un flag dans l'url du genre :

$this->_redirector->gotoUrl('/MonController/Ajout/erreur/1');

et tester dans ma vue si je récupère un paramètre erreur... Mais question sécurité c pas top si? je sais pas trop...

Si vous pouviez me renseigner sur ce point, ça serait nikel.

Le problème se pose également une fois que mon formulaire est validé, je voudrait afficher un message de réussite si tout est validé :-)


Je reste entièrement à votre disposition si je n'ai pas été assez clair, en attendant je retourne essayer de trouver une solution potable, le problème c'est que je ne trouve pas de 'norme' à ce sujet.

A tous, merci d'avance car c'est vraiment très important.

Hors ligne

 

#2 20-04-2009 14:52:18

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Les messages d'erreur des formulaires

Le plus simple (et de loin) est de faire pointer le formulaire sur la même action. Il suffit de faire alors un $form->populate(), et le tour est joué. Tu as plein d'exemples de tutoriels sur Zend_Form.
Par exemple : http://g-rossolini.developpez.com/tutor … odele#LV-H

Dernière modification par vg33 (20-04-2009 14:55:23)

Hors ligne

 

#3 20-04-2009 16:29:45

lagalere
Membre
Date d'inscription: 20-04-2009
Messages: 22

Re: Les messages d'erreur des formulaires

Bonjour vg33, et merci pour ta réactivité,

en effet la méthode populate() est très intéressante. Mais elle ne me satisfait pas entièrement au niveau de son utilisation, 5d'ailleurs je l'utilise).

Si j'avais bien compris à l'époque, elle permet de remettre le contenu du formdata dans les bons champs. Nikel ça. Mais je ne peux adapter mon message d'erreur en fonction. En gros je veux passer au dessus du populate pour personnaliser mes messages...

Tu vois le truc?

Aie aie aie, je me doute que je ne suis pas très clair... mais on va réussir smile

Hors ligne

 

#4 20-04-2009 17:48:50

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Les messages d'erreur des formulaires


----
Gruiiik !

Hors ligne

 

#5 20-04-2009 18:06:14

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Les messages d'erreur des formulaires

Si ton problème est la traduction des messages d'erreur, je te renvoie à la réponse suivante :
http://zend-framework.developpez.com/fa … nslate-err

Hors ligne

 

#6 20-04-2009 18:24:18

lagalere
Membre
Date d'inscription: 20-04-2009
Messages: 22

Re: Les messages d'erreur des formulaires

Salut Norky, merci pour ta réponse efficace smile

J'avais déjà bien vu ces messages d'erreur, sauf qu'avec cette méthode. je ne reviens pas sur ma page initiale.

Je reprend,
une action lancant le formulaire et une action intermédiaire qui le traite. Comme je traite le formulaire et que j'initialise les messages d'erreur dans l'action intermédiaire, j'affiche les erreurs dans la vue de cette action... Or ce que je veux c'est afficher les erreurs dans mon action initiale...

J'espère être clair dans mes besoins. Je sens toutefois qu'on touche au but smile

Merci d'avance à tous ceux qui pourront m'aider encore smile

Hors ligne

 

#7 20-04-2009 18:29:58

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Les messages d'erreur des formulaires

Mais pourquoi ne fais-tu pas pointer ton formulaire sur la même action ? Ce serait beaucoup plus simple.

Hors ligne

 

#8 20-04-2009 20:05:06

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Les messages d'erreur des formulaires

C'est sur, Un forumaire est à 98% du temps sur la même en action en "affichage" et "post".

Sinon, flashmessager est un bon helper


----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages