Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 03-06-2010 11:04:57

djo
Membre
Date d'inscription: 19-04-2010
Messages: 18

[Résolu] Zend Form : Incompréhension utilisation IsValid ?

Bonjour,

Je crois avoir mal saisit l'utilisation de isValid pour Zend Form.
J'ai créé un générateur de zend form qui me génère des zend form avec comme paramètres :

$zendForm->setAction ( '?page=form/answer&action=checkIfValid&id=' . $id );
        $zendForm->setAttrib ( 'id', 'dvp-form' );
        $zendForm->setDescription ( $myForm->description );
        $zendForm->setEnctype ( Zend_Form::ENCTYPE_URLENCODED );
        $zendForm->setMethod ( 'POST' );
        $zendForm->setName ( $myForm->name );
        $zendForm->setView ( new Zend_View () );
+ ajout des champs choisis par l'utilisateur
+ ajout du bouton submit

Une fois généré je le serialize et le stock en base.

Pour l'afficher je le récupère en base, le désérialize et l'affiche simplement en faisant un echo du form.
Quand je clique sur le bouton valider je pars donc sur ma page ?page=form/answer&action=checkIfValid&id=' . $id
ou là je désire traiter les actions de validations (si l'utilisateur à saisit les bonne données en fonction des validateurs.) Pour celà voilà ce que je fait :

$zendFormInDB = unserialize ( $myZendFormInDB)

if ($zendFormInDB->isValid ( $_POST )) {

                   
                    $isValid = true; //Traiter action IsValid à faire
                } else {
                   
                    $isValid = false;
                }

Mais il valide tout le temps et ne passe jamais à false alors que des champs sont requis.
Si quelqu'un peut m'aiguiller ? merci par avance

Djo

Dernière modification par djo (03-06-2010 12:09:08)

Hors ligne

 

#2 03-06-2010 16:50:58

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

Re: [Résolu] Zend Form : Incompréhension utilisation IsValid ?

Dans ta génération tu ne parles pas des validateurs, et sans validateurs, ton test isValid va forcément retourné true.
Tu veux peut être simplement testé que en gros ton formulaire est bien été "submit" ?

Hors ligne

 

#3 03-06-2010 20:30:11

djo
Membre
Date d'inscription: 19-04-2010
Messages: 18

Re: [Résolu] Zend Form : Incompréhension utilisation IsValid ?

En fait j'ai compris mon erreur. A la génération de mon form je faisais
$element->isRequired()
au lieu de $element->setRequired()
du coup mon isValid() testait rien.

Merci pour l'aide wink

Hors ligne

 

#4 12-06-2010 11:45:31

pheuh
Membre
Date d'inscription: 18-03-2010
Messages: 22

Re: [Résolu] Zend Form : Incompréhension utilisation IsValid ?

djo a écrit:

Une fois généré je le serialize et le stock en base.
Pour l'afficher je le récupère en base, le désérialize et l'affiche simplement en faisant un echo du form.

je suis curieux, pourquoi stocker en base ? est-ce pour des raisons de performance ? à quel moment cette opération est faite ?
merci par avance.

Hors ligne

 

#5 17-06-2010 13:45:16

djo
Membre
Date d'inscription: 19-04-2010
Messages: 18

Re: [Résolu] Zend Form : Incompréhension utilisation IsValid ?

Bonjour pheuh,
L'idée est de pouvoir récupérer le zend form à n'importe quel moment et de n'avoir juste qu'à l'afficher.

Hors ligne

 

#6 24-06-2010 10:47:17

zaihany
Nouveau membre
Date d'inscription: 31-05-2010
Messages: 2

Re: [Résolu] Zend Form : Incompréhension utilisation IsValid ?

Mais Zend le fait tout seul non en créant une classe formulaire non?

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