Bonjour,
Dans l'admin que j'ai créer avec le générateur, j'ai un champ URL, je souhaiterai modifier la valeur rentré par l'utilisateur (supprimer les espace, accent etc ...) avant de l'enregistrer.
Comment puis je prendre la main sur ce champ ?
Version imprimable
Bonjour,
Dans l'admin que j'ai créer avec le générateur, j'ai un champ URL, je souhaiterai modifier la valeur rentré par l'utilisateur (supprimer les espace, accent etc ...) avant de l'enregistrer.
Comment puis je prendre la main sur ce champ ?
Voir les méthodes save(), doSave(), updateObject() du formulaire.
http://www.symfony-project.org/forms...he_save_method
J'avais pensé a ces méthodes mais pas au parent::save.
Merci
En regardant de plus près je n'arrive pas à modifier mes champs dans ma fonction save.
Quelle fonction je dois utiliser ?
Bonjour,
Il vaudrait mieux utiliser un behavior de Doctrine : Sluggable.
http://www.developpez.net/forums/d72...orial-symfony/
http://www.doctrine-project.org/docu...iors:sluggable
Cordialement,
Mathieu
Il est vrai que pour ce cas c'est plus approprié mais de manière général j’aimerais savoir comment le faire manuellement.
Bonjour,
Dans ce cas la il faut que tu overrides la méthode doSave() de ton formulaire Doctrine, récupérer les valeurs de tes champs, et appliquer une expression régulière sur le champ saisi afin de mettre à jour ton deuxième champ (celui de la base de données), avec le résultat de ce que t'as renvoyé un preg_replace...
Cordialement,
Mathieu
A noter que si l'origine de ta modification n'a qu'un champ à prendre en compte, tu peux aussi modifier ton getter.