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 :

[Symfony2] Gestion des erreurs dans les Contrôleurs imbriqués.


Sujet :

Symfony PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Symfony2] Gestion des erreurs dans les Contrôleurs imbriqués.
    Bonjour,

    J'ai un formulaire de réservation dans ma page(template) d'annonce de location de logement, j'ai utilisé la solution consistant à imbriquer les résultats du contrôleur réservation dans le template de présentation de l' annonce .

    Apres validation du formulaire de réservation:

    s'il y a pas d erreurs dans le formulaire, tout marche parfaitement. J affiche un message flash de confirmation dans le template de présentation de l' annonce .
    En cas d erreur je n'arrive pas a faire apparaître les erreurs du formulaire de réservation dans le template de présentation de l'annonce .
    Y a t il un moyen d'effectuer la gestion des erreurs tout en restant dans le template de présentation de l' annonce .
    cordialement

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 168
    Points : 219
    Points
    219
    Par défaut
    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
     
            /** @var \Symfony\Component\HttpFoundation\RequestStack $requestStack */
            $requestStack = $this->container->get('request_stack');
            /** @var \Symfony\Component\HttpFoundation\Request $request */
            $request = $requestStack->getMasterRequest();
     
            /** @var \Symfony\Component\Form\FormBuilder $fb */
            $fb = $this->createFormBuilder(array(),array());
            $fb->add('name','text');
            $fb->add('send','submit');
     
            /** @var \Symfony\Component\Form\Form $form */
            $form = $fb->getForm();
     
            $form->handleRequest($request);
     
            if($form->isValid())
            {
                $form->get('name')->addError(new FormError('name error'));
            }
     
            return $this->render('AppDemoBundle:Default:form.html.twig',array(
                'form'=>$form->createView()
            ));

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 128
    Points : 79
    Points
    79
    Par défaut
    peut-être vous voulez dire quelque chose comme ça dans la page twig

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    {% spaceless %}
    {% if form_errors(form)|length > 0 %}
     
    		<strong>{{ form_errors(form) }}</strong>
     
     {% endif %}
    {% endspaceless %}

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 168
    Points : 219
    Points
    219
    Par défaut
    Un truc dans le genre c'est plus parlant ?

    app/Resources/views/base.html.twig
    qui fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ render(controller('AppDemoBundle:Default:form')) }}
    dans ton controller :
    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
     
    <?php
     
    namespace App\DemoBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\Form\FormError;
     
    class DefaultController extends Controller
    {
     
        public function formAction()
        {
            /** @var \Symfony\Component\HttpFoundation\RequestStack $requestStack */
            $requestStack = $this->container->get('request_stack');
            /** @var \Symfony\Component\HttpFoundation\Request $request */
            $request = $requestStack->getMasterRequest();
     
            /** @var \Symfony\Component\Form\FormBuilder $fb */
            $fb = $this->createFormBuilder(array(),array());
            $fb->add('name','text');
            $fb->add('send','submit');
     
            /** @var \Symfony\Component\Form\Form $form */
            $form = $fb->getForm();
     
            $form->handleRequest($request);
     
            if($form->isValid())
            {
                // display error for test 
                $form->get('name')->addError(new FormError('name error'));
            }
     
            return $this->render('AppDemoBundle:Default:form.html.twig',array(
                'form'=>$form->createView()
            ));
     
        }
    }
    le form src/App/DemoBundle/Resources/views/Default/form.html.twig
    Pour faire simple le service request_stack retourne la sub_request ( et non pas la request_master ...) que tu vas pouvoir binder.

    c'est cool non

Discussions similaires

  1. [AC-2003] Gestion des erreurs dans les sous-programmes
    Par azertix dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/10/2010, 12h13
  2. Gestion des erreurs dans les pages JSP
    Par elewandowski dans le forum Struts 2
    Réponses: 3
    Dernier message: 04/12/2007, 22h18
  3. Gestion des NULL dans les tables externes
    Par plouf2244 dans le forum Firebird
    Réponses: 1
    Dernier message: 23/03/2006, 17h55
  4. Gestion d'erreur dans les procédure
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/01/2006, 13h02
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 12h20

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