Ok :)
Version imprimable
Ok :)
Je viens de tester le code que tu m'as envoyé en MP, et pour moi il fonctionne...
Voici le contenu de $formData (cad $request->getPost()) :
Par contre, je ne récupère rien du formulaire, si ce n'est une erreur au moment de la validation :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 array 'row1' => array 'pro_userPseudo' => string 'BILLY' (length=5) 'pro_userMobileNumber' => string '0612345678' (length=10) 'pro_userEmail' => string 'billy@nowhere.net' (length=17) 'row2' => array 'pro_userPseudo' => string 'BOB' (length=3) 'pro_userMobileNumber' => string '0123456789' (length=10) 'pro_userEmail' => string 'bob@nowhere.net' (length=15) [...]
Et si je désactive le valideur sur groupId, j'obtiens bien les données soumises :Code:
1
2
3
4 'groupId' => array 0 => string 'isEmpty' (length=7)
Zend_Debug::dump ($form->getValues()) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 array 'groupId' => string '' (length=0) 'submitproinscritions' => string 'Valider les inscriptions' (length=24) 'row1' => array 'pro_userPseudo' => string 'BILLY' (length=5) 'pro_userMobileNumber' => string '0612345678' (length=10) 'pro_userEmail' => string 'billy@nowhere.net' (length=17) 'row2' => array 'pro_userPseudo' => string 'BOB' (length=3) 'pro_userMobileNumber' => string '0123456789' (length=10) 'pro_userEmail' => string 'bob@nowhere.net' (length=15) 'row3' => [...]
Oui moi aussi ça marche maintenant :D merci pour tout, sauf pour l'affichage, mon formulaire se construit avec des <dt> et des <dd> ce qui fait qu'il ne se met pas en forme correctement. Tu as construit un decorator spécial ou c'est simplement avec 'view helper' que ton formulaire s'affiche?
ça ressemble à un tableau ce que tu veux faire...
Moi j'ai fait comme ça :
- HtmlTag (tag => td) pour les éléments des sous-formulaires
- HtmlTag (tag => tr) pour les sous-formulaires
- HtmlTag (tag => table) pour le formulaire global
Tu ajoutes le viewHelper pour les éléments de tes sous-formulaires et c'est bon.
J'ai remplacé le HtmlTag (tag => table) par un décorateur personnalisé, car je souhaitais ajouter une ligne d'entête (thead), mais sinon tu dois pouvoir le faire avec les décorateurs standards.
PS : Du coup dans ton code tu peux faire qque chose comme ça :
Code:
1
2
3
4
5 $row->setDecorators (array ('FormElements', Array ('HtmlTag', array ('tag' => 'tr') ) ) ); $row->setElementsDecorators (array ('ViewHelper', Array ('HtmlTag', array ('tag' => 'td') ) ) ); [...] $this->setDecorators (array ('FormElements', array ('HtmlTag', array ('tag' => 'table') ) ) );
J'ai essayer en créent mon propre décorator et ça marche merci !