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 :

fournir et valider des formulaires par webservices


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 96
    Points : 72
    Points
    72
    Par défaut fournir et valider des formulaires par webservices
    Bonjour,

    Est il possible avec symfony 2 de développer des webservices permettant de fournir à un client des formulaires et de traiter ensuite le retour du client ?

    C'est à dire faire en sorte que le controleur qui gère la création et le traitement d'un formulaire puisse dialoguer avec un client développer avec n'importe quelle architecture et langage ?

    Avez vous des pistes?
    Je vais déjà jeter un oeil à ce bundle "EverzetRestfulControllersBundle" qui pourrait peut être m'aider.

    Merci pour vos suggestions.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Bonjour,

    J'ai testé le bundle FOSRestBundle.
    J'ai créé un controleur dédié aux webservices dont voici mes 2 méthodes :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    class PersonneWSController extends Controller
    {
     
        public function newPersonne_wsAction()
        {
            //la route get /personne_ws/new sera automatiquement générée
            $entity = new Personne();
            $form   = $this->createForm(new PersonneType(), $entity);
     
            $view = $this->render('dav2TestBundle:Personne:new.xml.twig', array(
                'entity' => $entity,
                'form'   => $form->createView()
            ));
            return $view;
     
     
        }
     
        public function postPersonne_wsAction()
        {
            //la route [post] /personne_ws sera automatiquement générée
     
            $entity  = new Personne();
            $request = $this->getRequest();
            $form    = $this->createForm(new PersonneType(), $entity);
            $form->bindRequest($request);
     
            if ($form->isValid()) {
                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($entity);
                $em->flush();
     
                return $this->redirect($this->generateUrl('personne_show', array('id' => $entity->getId())));
     
            }
            else
            {
                die('ko');
            }
     
        }
    }
    J'ai un client java qui récupère bien mon formulaire au format xml, mon client l'intègre dans du html j'ai bien tous mes champs, y compris le champ caché token mais lorsque je poste mon formulaire j'ai l'erreur :
    The CSRF token is invalid. Please try to resubmit the form
    Pouvez vous m'aider ?

    Merci

  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
    Regarde dans ta vue 'dav2TestBundleersonne:new.xml.twig'.

    Je suppose que tu affiches les champs un par un. En fait, tu as sans doute oublié le champ caché _token.
    Donc, juste avant la fermeture </form>, je te conseille d'ajouter
    Cette ligne affichera tout les champs que tu aurais oublié!
    Un petit si la réponse convient. Merci.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Merci de ta réponse mais je n'affiche pas les éléments un par un je n'ai pas encore travaillé ma vue, j'utilise donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ form_widget(form) }}
    Et dans le doute j'ai tout de même ajouté :

    Lorsque j'affiche le code source de mon formulaire j'ai bien un élément _token de type hidden avec une valeur, mais j'ai mon erreur liée au CSRF

Discussions similaires

  1. [ Struts ] Validation des formulaires
    Par jeoff dans le forum Struts 1
    Réponses: 2
    Dernier message: 28/07/2006, 12h43
  2. [W3C] valider un formulaire par W3C
    Par 18Marie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/06/2006, 19h04
  3. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26
  4. Valider un formulaire par un lien et non par un bouton
    Par budiste dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 11h58
  5. Valider un formulaire par une image
    Par Fleep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/10/2004, 01h50

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