Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis face à un problème avec les filtres des formulaires et je ne trouve pas la solution.
Pour situer le contexte,
Dans un formulaire (une classe héritant de Zend_Form) il y a un champ "prix", ce champ est :
- remplit en euros (99 ou 99.99 ou 99,99)
- stocké en centimes dans la base de données
J'ai donc appliqué à un Zend_Form_Element_Text :
- un custom validator "Price", ni plus ni plus qu'un héritage du Zend_Validator_Regex qui redéfinit le message d'erreur et configure le pattern qui va bien
- un custom filter qui transforme le prix des centimes en euros (pour filtrer les valeurs qui viennent de la base de données)
Puis j'ai crée une méthode "getDbValues()" qui se charge de me retourner les valeurs prêt à l'ajout dans la base de donnée et donc c'est là où je fais ma transformation inverse (euros => centimes)
Maintenant que le contexte est définit, voici mon problème,
A l'affichage de la page tout se passe bien, la valeur est bien formaté en euros, mais lors d'une erreur de saisie du formulaire la valeur entrée par l'utilisateur (en euros) repasse une deuxième fois dans le filtre ! et là ça pause problème...
Peut-être ai-je manqué quelque chose, en tout cas un peu d'aide est la bienvenue.
Hors ligne
Pages: 1