IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Comment activer le trim pour tous les champs


Sujet :

Symfony PHP

  1. #1
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut Comment activer le trim pour tous les champs
    Salut,

    J'aimerais que symfony fasse des "trim" sur les champs des formulaires mais je n'ai pas envie de devoir spécifier l'option pour chaque champs de chaque formulaire.

    Est-il possible de définir ça à un niveau global ?

    Merci d'avance

  2. #2
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    J'ai essayé d'ajouter ça dans la méthode "configure()" de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getValidatorSchema()->addOption( "trim", true );
    Mais ça ne change rien. Je pense que c'est parce que ça intervient trop tard et que les validateurs des champs ont déjà été initialisés avec la valeur par défaut (cf sfValidatorBase.class.php::__construct) qui est false.

    Avec ça ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach( $this->getValidatorSchema()->getFields() as $field )
                $field->addOption( "trim", true );
    Est-ce que c'est propre ? Est-ce qu'il y a une autre façon de faire ?

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu as, dans ta structure un lib/form/BaseForm.class.php. Ce fichier est le parent de toutes les classes de formulaires générées par doctrine (ou propel).

    Donc si tu modifies ici ton schema, il le sera pour toutes les classes auto-générées de tous les formulaires, et ce avant la configuration de la classe générée.

    Maintenant, je n'ai jamais essayé de modifier le paramètre trim depuis ici.

    Tiens-nous au courant !

    --------------------------------
    j'ai cherché sur les forums en anglais et suis tombé sur ceci.

    Donc, il semblerais que ta proposition de modification et mon emplacement ne soient pas les bons.

    Reste :
    • la boucle (que tu peux inclure dans une méthode dans BaseForm.class.php)
    • Créer dans un dossier de ton lib un sfMyValidator avec les options de base que tu souhaites et l'utiliser dans tes formulaires
    • recopier le code de sfValidatorBase dans sous dossier de lib et passer le paramètre trim a true (défaut, plus de mise a jour de l'objet si tu change de version de symfony).
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  4. #4
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    merci pour ta réponse.

    Si je comprend bien il n'y a pas vraiment de manière propre de faire ça. Celle que j'ai trouvé me semble encore la moins pire.

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Elle est bien, mais je créerais une méthode dans BaseForm.class.php que j'activerais dans chaque objet. Histoire de ne pas refaire le même code dans chaque objet.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

Discussions similaires

  1. Comment obliger un utilisateur à remplir tous les champs d'un Userform
    Par Gibé2201 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/08/2011, 11h49
  2. [AC-2007] Cadre dépendant/ mais l'image se répéte pour tous les champs
    Par laure2788 dans le forum IHM
    Réponses: 2
    Dernier message: 16/06/2011, 11h02
  3. VARCHAR2(2000) pour tous les champs ?
    Par DevTeam_ dans le forum Débuter
    Réponses: 2
    Dernier message: 12/02/2009, 12h04
  4. [config] comment definir un schema pour tous les hbm?
    Par Sniper37 dans le forum Hibernate
    Réponses: 3
    Dernier message: 18/02/2008, 12h02
  5. [Rave 6 BE]Valeur "Invalid" pour tous les champs !
    Par Giovanny Temgoua dans le forum Rave
    Réponses: 4
    Dernier message: 19/10/2006, 22h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo