Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
J'ai un modèle qui étend zend_form et je l'instancie dans un controller.
Ce que je ne comprends pas c'est que pour mes boutons radios, le getValues() de mon form ne prend pas en compte le bouton radio coché, il récupère toujours la même valeur. Alors que si j'affiche le contenu de $_POST, la valeur change en fonction du bouton coché...
$UserForm = new Model_Form_User(); Zend_Debug::dump($UserForm->getValues()); /* array(2) { ["colors"] => string(1) "R" // récupère toujours cette valeur ["submit"] => NULL } */ Zend_Debug::dump($_POST); /* array(2) { ["colors"] => string(1) "G" // récupère la bonne valeur ["submit"] => string(7) "Valider" } */ // le modèle public function init() { $this->setAttrib('enctype', 'multipart/form-data'); $options = array('R' => 'red', 'G' => 'green', 'B' => 'blue'); $colors = new Zend_Form_Element_Radio('colors'); $colors->setRequired(true) ->setValue('R') ->setOptions(array('separator' => '')) ->setMultiOptions($options ); $this->addElement($colors); $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('Valider'); $this->addElement($submit); }
Hors ligne
Bon et bien je n'avance pas, au contraire.
Si j'enlève le ->setValue('R') dans la déclaration de mon Zend_Form_Element_Radio, $UserForm->getValues() me renvoie toujours
array(2) { ["colors"] => NULL ["submit"] => NULL }
alors que $_POST contient les bonnes valeurs.
Quelque chose soit m'échapper...
Help please
Hors ligne
Hello,
Utilises isValid(), regardes dans la doc.
@+
Hors ligne
Pour explique ce que dit mikael : as tu remplis ton formulaire avec les valeurs postée ?
Hors ligne
Ha oui effectivement, getValues() n'est utilisable que si isValide() est vérifié.
Merci à vous.
Hors ligne
Pages: 1