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:
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.