Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-02-2008 10:43:32

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

[Zend_Form][1.5] Valider un Zend_Form

A cause de la sortie récente du Zend_Form je trouve très peu d'exemples sur l'utilisation des validateurs avec ce composant. J'aimerais pouvoir valider les champs de mon formulaire à la soumission et cela grâce aux addValidator que j'ai posé sur ses éléments. Mais je n'arrive pas à voir vraiment comment utiliser ces validateurs.

D'après ce que je peux comprendre, il y a deux types de validation possible:
- faire ça en AJAX directement sur le formulaire avant l'envoi de ce dernier, mais il faudra passer de toute manière après l'envoi des $_POST pour vérifier car on peut pas faire confiance aveuglément à l'utilisateur.

- faire ça après l'envoi de ce dernier, mais je ne vois pas comment transmettre mon formulaire $form hmm

Avez-vous déjà utilisé les validateurs pour vos formulaires? Si vous aviez un petit exemple ou une explication, je vous en serais très reconnaissant smile

Merci d'avance

Aqua

Dernière modification par Aquanum (29-02-2008 11:27:19)

Hors ligne

 

#2 27-02-2008 13:54:39

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Zend_Form][1.5] Valider un Zend_Form

Tu as lu ce nouveau tutorials sur les Zend_Form : http://akrabat.com/2008/02/21/simple-zend_form-example/
notre bienfaiteur anglais Rob Allen?

Dernière modification par whitespirit (27-02-2008 13:56:11)

Hors ligne

 

#3 27-02-2008 14:07:07

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

Re: [Zend_Form][1.5] Valider un Zend_Form

Oh non, je ne connaissais pas. Je vais lire ça.
Merci beaucoup!

Hors ligne

 

#4 28-02-2008 09:28:56

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

Re: [Zend_Form][1.5] Valider un Zend_Form

Héhé c'est super ça marche super! merci beaucoup pour le lien.
Je viens donc d'apprendre que la chose importante à faire c'est de déclarer le formulaire dans une classe perso, et je ne l'avais pas fait. Si le Form n'est pas déclaré en classe on ne peut pas utiliser la validation, et je ne le savais pas smile Moi je posais directement mon formulaire dans mon controller au lieu d'instancier une classe .
Bonne journée

Hors ligne

 

#5 28-02-2008 09:42:00

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_Form][1.5] Valider un Zend_Form

Le sujet est donc [Résolu] ?

EDIT: Merci wink

Dernière modification par Mr.MoOx (28-02-2008 11:50:01)

Hors ligne

 

#6 28-02-2008 11:43:47

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

Re: [Zend_Form][1.5] Valider un Zend_Form

ouip :]

Hors ligne

 

#7 29-02-2008 11:41:59

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

Re: [Zend_Form][1.5] Valider un Zend_Form

Bon je réouvre mon topic, car depuis hier je n'arrive pas à faire ce que je veux...
J'ai réussi à utiliser le code du tutorial pour avoir le formulaire affiché. A la soumission du formulaire, la validation est effectuée et les champs non valides sont accompagné d'un petit texte d'erreur:

http://akrabat.com/wp-content/uploads/zend-form-validation-messages.png

C'est exactement ce que je veux!

Sauf que j'ai mon propre Zend_View pour afficher le tout comme je veux.

Ainsi au lieu de faire comme dans le tuto un

Code:

$this->view->form = $form;

je fais

Code:

$formView = new Zend_View();
$formView->title="Inscription";
$formView->baseUrl = $this->_request->getBaseUrl();
$formView->form = $form;
$formView->setScriptPath("./application/views/scripts/form/");
        
$this->view->title = "Inscription à une activité"; 
$this->view->formView = $formView->render("formView.phtml");
$this->view->render('activite/inscrire.phtml');

Avec ma mise en page dans formView.phtml qui pose en gros la structure du formulaire que je veux, et pour chaque élément du formulaire je fais un switch qui va appeler formTextarea, formSelect, formHidden, formRadio, etc. entourrés de la mise en page que je veux.

Le problème, c'est qu'en passant par ma propre mise en page je zappe le système par défaut, et les validateurs ne fonctionnent plus... j'ai cherché toute la journée hier où se cachait la génération des messages d'erreurs et comment ça fonctionnait... mais je n'ai rien trouvé...

Sauriez-vous comment garder le système de validation qui marche super sur le tuto, mais avec un Zend_View perso?

J'ai essayé dans mon formView.phtml un truc du genre:

Code:

if (...->_request->isPost()) {
// on fait une validation sur le contenu du champ et on affiche ou pas le message d'erreur
}

Mais je n'arrive pas à porter le $this du controller dans mon formView, et de toute manière ça ne me semble pas être une bonne idée.

bref j'appelle à l'aide, car c'est encore un truc que j'ai du mal à piger là. j'ai épluché le code de Zend mais je n'arrive pas à trouver, y a bcp de code >_<

Merci beaucoup d'avance

Hors ligne

 

#8 29-02-2008 19:42:40

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_Form][1.5] Valider un Zend_Form

As tu regardé du côté des décorateurs et des sous groupes de formulaires (displayGroup)?
Car je trouve ça un peu dommage de se privé du rendu de Zend_Form, dans ce cas là, autant ne pas utilisé en utilisant simplment les Zend_Form_Element et les validateurs.

Hors ligne

 

#9 03-03-2008 09:11:10

Aquanum
Membre
Date d'inscription: 20-02-2008
Messages: 13

Re: [Zend_Form][1.5] Valider un Zend_Form

J'utilise actuellement displayGroup pour diviser mon formulaire en fieldset. J'utilise mon formView pour les mettre en page. Pour les décorators je sais pas trop quelle est la différence avec l'utilisation des Zend_View... parce que d'après la doc Zend, je comprends qu'il faut poser la mise en forme des éléments à chaque fois. Donc je trouve ça super lourd de spécifier comment sera mis en forme chaque champ alors que le Zend_View permet d'avoir ça centralisé.

Donc pour le coup je ne sais vraiment pas comment faire sad
Et je suis complètement bloqué dans mon boulot là... je m'en arrache les cheveux

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