Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Dès que je saisis une date, le validator me retourne toujours 'format de date invalide'.
BOOTSTRAP
$locale = new Zend_Locale('fr_FR');
Zend_Registry::set('Zend_Locale',$locale);
LA FORM
$datedebut = new Zend_Dojo_Form_Element_DateTextBox('datedebut',array(
'label'=>'Début de période',
'style'=>'width: 7em',
'datepattern'=>'dd/MM/yyyy', // Format d'affichage de la date
'validators'=> array('Date'), // comment formater le validator ????
'required'=>true
));
Avez-vous une idée ?
Dernière modification par jean (02-04-2010 10:16:09)
Hors ligne
Le format de la date = uniquement la date affiché ... et non la date renvoyé ....
Si tu affiches la valeur de la date une fois le formulaires soumis tu verras que cela ne correspond pas, il te faut définir le pattern dans le validateur de date
Hors ligne
je pense que la date est retournée au format attendu par le validator.
Lorsque je fais
Zend_Debug::dump($form->getValues());
je récupère toujours une date au format yyyy-MM-dd
Peux-tu m'indiquer comment donner un pattern au niveau du validator ?
Jean
Hors ligne
Bonjour,
je suis actuellement dans le même cas, je cherche la façon de formater le resultat de dateTextBox avec un pattern ddMMyyy et non un pattern yyyy-MM-dd.
Dois-je donc faire une fonction qui modifie la valeur récupéré par le formulaire? ou puis-je formater la valeur renvoyé par dateTextBox?
Merci d'avance.
Jonathan.
Hors ligne
Personnellement je n'ai jamais réussi à modifier la date renvoyé ...
Hors ligne
Après quelques recherches, voici la solution.
J'ai utilisé *l'excellent* site http://www.wiip.fr de Maxence Delannoy. Il a rédigé plusieurs tutoriaux à ce sujet.
Si vous avez des questions sur le traitement des dates entre MySql et le ZF , c'est LE site obligatoire !!!
Voici le code du champ :
$datedebut = new Zend_Dojo_Form_Element_DateTextBox('datedebut',array( 'label'=>'Début de période', 'style'=>'width: 7em', // dimension du champ 'datepattern'=>'dd-MM-yyyy', // FORMAT D' AFFICHAGE DE LA DATE !!! //'decorators' => $this->_standardElementDecorator, 'required'=>true )); $datedebut->addPrefixPath('App_Filter', 'App/Filter',Zend_Form_Element::FILTER); // voir site wiip.fr $datedebut->addFilter(new App_Filter_LocalDateToMysql); // voir site wiip.fr // App_Date::MYSQL_DATE indique juste le format d'affichage attendu : 'yyyy-MM-dd' (le factoriser dans cette classe, c'est mieux !) $datedebut->addValidator(new Zend_Validate_Date(App_Date::MYSQL_DATE)); // voir site wiip.fr
Encore merci à Maxime pour ce travail de fond, le traitement des dates (au format français...) n'étant jamais simple...
Jean
Dernière modification par jean (02-04-2010 10:18:30)
Hors ligne
Pages: 1