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 :

Retourner un message au formulaire depuis le controller


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Retourner un message au formulaire depuis le controller
    Bonjour,

    Malgré mes nombreuses recherches, je n'ai pas trouvé de réponse à un problème que je pensais pourtant simple.

    Après la soumission d'un formulaire d'encodage, je dois encore faire certaines vérifications au niveau de mon controller (vérifier que différentes périodes qui y sont encodées ne se chevauchent pas). Si certaines se chevauchent, je voudrais ré-afficher le formulaire avec ses données et avec un message d'erreur indiquant à l'utilisateur que des périodes se chevauchent et qu'il faut donc en modifier certaines dates. C'est là que je ne trouve pas comment ré-appeler le formulaire en lui passant en paramètre le message d'erreur.

    Pour plus de clarté, voici le code utile dans mon 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
    ...
            if ($form->isSubmitted() && $form->isValid()) 
            {
    ...
                $periods = $advert->getPeriods();
                $overlap = false;
    
                foreach ($periods as $key => $value) {
                    if ($key > 0) { 
    
                        for ($j = 0; $j <= $periods->count() - 1; $j++) { 
    
                            if (! ($periods[$key]->getStart() > $periods[$j]->getEnd() && $periods[$key]->getEnd() > $periods[$j]->getEnd()) || 
                                  ($periods[$key]->getStart() < $periods[$j]->getStart() && $periods[$key]->getEnd() < $periods[$j]->getStart()) )
                            {
                                    $overlap = true;
                            }
    
                        }
    
                    }
                }
    
                if ($overlap) {
                   //C'est ici que je voudrais ré-appeler mon formulaire avec, en paramètre, le message ""Des périodes se chevauchent. Veuillez vérifier les dates de début et de fin."
                }
    Quelqu'un aurait une idée sur la procédure à suivre?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,
    faire de la validation et en général des traitements dans un contrôleur est une mauvaise habitude.
    la validation de formulaire peux se faire dans un fichier a part.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2014, 20h17
  2. [AC-2007] Atteindre controle formulaire depuis un état
    Par meldja dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/04/2013, 19h28
  3. [AC-2003] Ouverture formulaire depuis controle onglet
    Par ThieBEN dans le forum IHM
    Réponses: 11
    Dernier message: 26/07/2012, 17h07
  4. Ouvrir un Formulaire dans un control sous-Formulaire
    Par Berny03 dans le forum Access
    Réponses: 2
    Dernier message: 27/09/2005, 13h22
  5. Réponses: 2
    Dernier message: 28/10/2004, 17h54

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