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 :
Quelqu'un aurait une idée sur la procédure à suivre?
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." }
Merci d'avance pour votre aide.
Partager