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 :

Préremplissage de formulaires


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Préremplissage de formulaires
    Bonjour à tous,

    Dans la continuité de mes recherches sur Symfony 2, je suis actuellement en pleine étude des formulaires.

    La génération fonctionne parfaitement, ainsi que la validation. Cependant il m'est impossible de pré-remplir mon formulaire, à chaque fois que je le fais mes champs ont beau être remplis Symfony me lance des erreurs de validations.

    En retirant mes règles "Not Blank", la validation passe mais mon FormContext ne se remplit jamais. Impossible donc d'exploiter les résultats.

    N'ayant pas trouvé de méthode simple pour pré-remplir les formulaires, je passe mon objet en paramètre du constructeur de mon formulaire :

    Mon Controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form = new UpdateForm('update', $this->get('form.context')->getOptions(), $dev, $states);
    J'ai donc modifié le constructeur de mon formulaire de la façon suivante :

    Ma classe formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public function __construct($title, array $options = array(), Dev $dev, array $states = array()) {
    			$this->duration = $dev->getDuration();
    			$this->state = $dev->getStateId();
    			$this->comment = $dev->getComment();
    			foreach ( $states as $s ) {
    				$this->states[$s->getId()] = $s->getName();
    			}
    			parent::__construct($title, $options);	
    		}
     
    protected function configure()
    		{
    			$this->add(new ChoiceField('state', array(
    				'choices' => $this->states,
    				'data' => $this->state
    			)));
    			$this->add(new TextField('duration',array(
    				'data' => $this->duration
    			)));
    			$this->add(new TextareaField('comment',array(
    				'data' => $this->comment
    			)));
    		}
    Le formulaire est donc pré-rempli, mais impossible de binder ce qu'il retourne à mon context.

    Quelqu'un a une solution ?

  2. #2
    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
    J'attaque les form aujourd'hui ou lundi...

    Je suis tes tests avec intérêt et ne manquerait pas d'y apporter ma contribution dés que je t'aurais rattrapé.
    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 !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Je vous propose de lire ceci :
    [ame="http://www.slideshare.net/bschussek/leveraging-symfony2-forms"]Leveraging Symfony2 Forms@@AMEPARAM@@ssplayer2.swf?doc=sflive2011-forms-presentation-110307022130-phpapp01&stripped_title=leveraging-symfony2-forms@@AMEPARAM@@sflive2011-forms-presentation-110307022130-phpapp01@@AMEPARAM@@leveraging-symfony2-forms[/ame]

    Apres lecture, voici les points que je crois indispensable a retenir et a utiliser:
    - injection de dépendances!!
    - fields d'entité (je lance ceci par rapport au code posté)
    - un form est un field
    - ...

    je refais également un test de A à Z pour voir si je n ai rien loupé sur les formulaires... surtout après les nouvelles mise à jour.
    Un petit si la réponse convient. Merci.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci pour les slides effectivement c'est un peu plus clair !

    Bon je n'arrive pas au bout de tout pour le moment mais je continue de creuser

    N'hésitez pas si vous avez plus de détails, puisque je ne vois toujours pas comment les pré-remplir !

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Formulaires
    A partir de quoi veux-tu les pré-remplir ?
    Des options par défaut ou alors un objet de ta base que tu veux modifier ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Avez vous trouvé une solution pour pré-remplir les form ?

    Pour ma part, j'ai une form multi pages (construite avec craueFormFlowBundle), et je veux pré remplir certains text fields à partir des données collectées dans les pages précédentes.
    Il faut que j'effectue un traitement sur les données collectées (si possible à partir d'une classe déclarée comme service) puis injecter le résultat obtenu dans la form.

Discussions similaires

  1. passer des paramètres à un formulaire pour préremplissage
    Par madjhack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/09/2011, 22h31
  2. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  3. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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