Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Je débute sur l'utilisation du zend framework, aussi j'espère que vous me pardonnerez si je pose des questions qui peuvent paraître bête.
J'ai crée deux modules un pour le front et un pour le backend, ensuite j'ai même créer un formulaire pour s'enregistrer et s'identifier. Tout cela fonctionne à merveille car je n'ai pas à saisir de chaine de caractères avec des espaces.
Ensuite, je me suis aventurer à créer une action pour ajouter et une autre action pour modifier des articles. La le bas blesse, je me retrouve lorsque je modifie ou insérer des données à avoir des chaines sans les caractères espace.
Voici le code du formulaire :
$titre = $this->createElement('text','titre'); $titre->setLabel('* Titre: ') ->setRequired(true) ->setAttrib('id','modlgn_titre') ->setAttrib('size',100) ->addValidator('NotEmpty') ->addValidator('StringLength',false,3,255) ->setDescription("Titre compris entre 3 et 255 caractère alphanumérique"); $this->addElement($titre);
Mais lorsque je fais l'insertion ou la modification avec un code du type :
$row->titre = $form->getValue('titre');
Je me retrouve à avoir dans le form des données sans espace dans les chaines de caractères. Après enquête, je me suis aperçut que c'était pas le $_POST qui était en cause car dans le post j'ai bien des espaces dans ma chaine. Mais une fois que je fais un
$form->populate($_POST) ou $form->populate($request->getPost())
alors la lecture depuis le formulaire renvois des données déformées. A priori si j'ai bien compris cela ne peut arriver que si j'ai un filtre qui provoque cet effet. Mais sur ce champ je n'en ai pas mis
Donc j'avoue ne pas comprendre pourquoi j'ai cet effet la.
Merci d'avance pour votre aide.
Hors ligne
A priori il y aurait bien un filtre par défaut à la gomme qui fait que je me retrouve avec une chaine converti en :
refontecomplétedusite
à partir de la chaine posté :
refonte complète du site
Car lorsque je fais un
die($form->getUnfilteredValue('titre'));
Juste avant de récupérer mon élément du form, j'ai bien mes espaces... Mais je me vois mal récupérer tout ainsi, car ce n'est pas normale qu'il me filtre ma valeur postée sans que je le lui demande
Bref je suis preneur des conseils des experts dans les filtres zend
Dernière modification par estacado (12-08-2010 09:56:41)
Hors ligne
Bon après enquête j'ai sur l'element titre les filtres
Zend_Filter_Alnum
Zend_Filter_StringToLower
Or je n'ai pas ajouté ces filtres, par acquis de conscience j'ai même enlevé les filtres sur les autres éléments... Mais rien à faire, les filtres sont toujours présent.
Bref je suis un peu perplexe...
Hors ligne
Pages: 1