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 :

Formulaire Symfony pré -completé


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Par défaut Formulaire Symfony pré -completé
    Bonjour à tous.

    J'espère que cette question n'a pas déjà été posée, si c'est le cas je m'en excuse d'avance.

    Voila, je développe un projet sous symfony. j'ai crée un formulaire pour une tache quelconque, et je souhaiterai réutiliser ce même formulaire pour une autre tache mais cette fois ci en lui insérant des valeurs par défaut.

    j'ai trouvé une manière d'accéder à ce résultat à savoir, j'ai modifié la classe "sfFormField" du framework et lui ai ajouté un fonction "setValue" qui me permet dans ma vue de donner une valeur aux champs du formulaire.
    (dans la mesure ou j'ai envoyé à ma vue les informations nécessaire à ce remplissage)

    Ce que j'aimerai savoir c'est si cette manière de faire respecte le paradigme MVC et surtout si cela n'engagerait pas des problèmes de sécurité.
    Faudrait il mieux remplir ce formulaire avant de l'envoyer à la vue. Ou même créer une fonction qui lors de la création du formulaire va chercher les informations pour le remplir?

    J'espère que je suis assez clair dans ma question et que vous pourrez m'apporter une réponse.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Oui question posée souvent, mais cela n'est jamais aussi pointu qu'une réponse personnalisée.

    De base, l'objet sfForm, partent de tous les formulaires (notamment sfFormDoctrine) a une méthode setDefault(fields, valeur) qui permet de renseigner les valeurs par défaut d'un enregistrement. Cette méthode peut être appelée depuis le config du form, ou depuis le contrôleur.

    Une autre solution (plus proche de la notion MVC) consiste a créer une méthode sur l'objet du modèle (généralement appelé l'objet de la table de donnée), méthode qui va permettre de renseigner les valeurs par défaut à utiliser dans un enregistrement vierge. L'avantage est que la gestion des données reste au niveau de la couche modèle. L'inconvénient est que cela ne peut être contextuel. La méthode consiste alors, pour un nouvel enregistrement, à créer un objet du modèle vierge, lui mettre les valeurs par défaut et le lier à l'objet formulaire. Les valeurs par défaut sont alors validées.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 96
    Par défaut
    J'ai aussi essayé de faire une chose comme cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voila, je développe un projet sous symfony. j'ai crée un formulaire pour une tache quelconque, et je souhaiterai réutiliser ce même formulaire pour une autre tache mais cette fois ci en lui insérant des valeurs par défaut.
    Déjà j'aimerais savoir une chose :
    tu souhaite que les valeurs du formulaire par défaut provienne d'un objet ou que tu les mettent en dur ?

    Si c'est le premier cas. La seul solution viable que j'ai trouvé pour le moment. C'est de faire un save puis de l'éditer. Le seul problème est que si l'utilisateur se trompe et qu'il le supprime pas. Tan pis pour lui. Il est dupliqué quand même.

    Si c'es le deuxième cas. Il existe une méthode setDefault() que tu peut appliquer à un widget afin de lui donner une valeur par défaut.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Citation Envoyé par butters Voir le message
    Si c'est le premier cas. La seul solution viable que j'ai trouvé pour le moment. C'est de faire un save puis de l'éditer. Le seul problème est que si l'utilisateur se trompe et qu'il le supprime pas. Tan pis pour lui. Il est dupliqué quand même.
    Le form, issu de sfDoctrineForm doit être initialisé pour fonctionner avec un objet du modèle (l'objet du modèle sur lequel le form est conçu).

    Mais rien n'oblige à ce que cet objet du modèle aie été enregistré. Il reste alors en statut is_new. Il est donc parfaitement possible de créer un nouvel objet du modèle, lui mettre des valeurs par défaut et le lier à un form pour l'envoyer en édition. Il convient, lors du retour de créer un objet vierge (plus de nécessité de mettre les valeurs par défaut qui sont dans le retour utilisateur), de le lier et de binder le retour POST du client pour avoir un bel enregistrement près à être enregistrer (et seulement là)

    @butters, il est évident qu'il s'agit ici de la création d'un nouvel enregistrement, pas du clone d'un enregistrement ET des liaisons n-n existantes.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 96
    Par défaut
    Tout dépend de ce qu'il souhaite faire. Vu qu'il ne l'a pas expliqué en détail. J'énonce un peu les possibilité qu'il a pour savoir ce qu'il souhaite exactement (j'ai surement pas pensé à tout ^^)

Discussions similaires

  1. [1.x] affichage champ id dans formulaire symfony
    Par Ontolingua dans le forum Symfony
    Réponses: 9
    Dernier message: 09/09/2010, 17h26
  2. [1.x] Filtrage d'une liste checkbox dans un formulaire symfony
    Par saberwer dans le forum Symfony
    Réponses: 2
    Dernier message: 27/08/2010, 13h33
  3. [1.x] Formulaires symfony et java !
    Par hisso dans le forum Symfony
    Réponses: 1
    Dernier message: 05/08/2010, 23h35
  4. Réponses: 11
    Dernier message: 06/07/2010, 20h35
  5. [1.x] Validator Formulaire Symfony
    Par smusta dans le forum Symfony
    Réponses: 2
    Dernier message: 21/04/2009, 20h31

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