Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je fais mes premiers pas sur le ZF1.12 et je suis en train de travailler sur un formulaire qui nécessite deux date picker : date début et date fin.
Mon formulaire est construit, les deux datepicker marchent (ils sont identiques mis à part le label) et quand je valide mon formulaire, mon controller me dit que isValid = false, après de nombreux essais et tests je viens de remarquer que c'est le fait que j'aie deux éléments ZendX_JQuery_Form_Element_DatePicker qui pose problème, si j'en enlève un (peu importe lequel) le formulaire est valide......
Étant à court d'idées je me tourne vers vous...
Voici mes deux élements :
$dateDebut = new ZendX_JQuery_Form_Element_DatePicker('dateDebut', array( 'jQueryParams' => array('dateFormat' => 'dd/mm/yy', 'minDate' => '+14'), 'required' => true, 'label' => 'Date Début Session', 'attribs' => array('readonly' => true), )); $dateDebut -> addValidator(new Zend_Validate_Date( array('format' => 'dd.mm.yyyy', ))); $dateFin = new ZendX_JQuery_Form_Element_DatePicker('dateFin', array( 'jQueryParams' => array('dateFormat' => 'dd/mm/yy', 'minDate' => '+14'), 'required' => true, 'label' => 'Date Fin Session : ', 'attribs' => array('readonly' => true), )); $dateFin -> addValidator(new Zend_Validate_Date( array('format' => 'dd.mm.yyyy', )));
Voici comment je les met dans mon formulaire
$this ->addElement($dateDebut); $this ->addElement($dateFin);
Voici mon controller (une partie) :
$form = new PlanningPrevisionForm(array('lieux' => $lieux)); (si j'enlève la partie array ça ne marche plus, ça me servait un moment mais maintenant plus à rien, donc j'aimerai l'enlever mais je ne sais pas pourquoi ça bug si je l'enlève) $formData = $this->getRequest()->getPost(); $this->view->params =$formData; if($this->getRequest()->isPost()){ $codeArticle = $_POST['codeArticle']; $dateDebut = $_POST['dateDebut']; // récupération des POST venant de la page source $dateFin = $_POST['dateFin'];// récupération des POST venant de la page source var_dump($formData); if($form->isValid($formData)){ $test = "ca marche"; $this->view->test = $test; //return $this->_helper->redirector('index'); }else{ //$this->_helper->json($form->getMessages()); $echec = "echec tjs "; var_dump($echec); $this->view->echec=$echec; }; };
Voici le $formData quand ça marche (avec un seul datepicker) :
array(8) { ["initiales"]=> string(3) "aaa" ["codeArticle"]=> string(7) "RXI1402" ["lieu"]=> string(16) "CACHAN FORMATION" ["metier"]=> array(1) { [0]=> string(6) "CUS41B" } ["metierArea"]=> string(6) "CUS41B" ["dateDebut"]=> string(10) "31/05/2016" ["nbPlaces"]=> string(1) "7" ["submit"]=> string(0) "" }
Voici le même quand ça marche pas :
array(9) { ["initiales"]=> string(3) "aaa" ["codeArticle"]=> string(7) "RXI1402" ["lieu"]=> string(16) "CACHAN FORMATION" ["metier"]=> array(1) { [0]=> string(6) "CUS41B" } ["metierArea"]=> string(6) "CUS41B" ["dateDebut"]=> string(10) "31/05/2016" ["dateFin"]=> string(10) "09/06/2016" ["nbPlaces"]=> string(1) "7" ["submit"]=> string(0) "" }
Si vous avez des idées je suis preneur
Merci de votre aide
Hors ligne
Bonjour,
Je ne vois pas datefin dans ton premier dump. Est-ce que la valeur peut être nulle (non requise) ?
Hors ligne
Pages: 1