Afficher une erreur dans mon formulaire si template inexistant
ertry
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour,
Je vous explique mon problème.
J'ai actuellement un select dans ma vue, issu d'un FormType, qui me liste tous les types de championnats (L1, L2, National).
J'ai créé une fonction dans un service qui me permets d'aller chercher les paramètres à remplir pour chaque championnat lorsque je sélectionne un championnat dans ma vue, que j'ai appelée getParametersForChampionnats(). A cette méthode je lui passe donc une variable $championnat_type (qui définit comme nommé le type de championnat) et que j'utilise lors de la fabrication de mon chemin pour aller chercher les paramètres qui seront affichés dans ma vue et qui me permettront de m'afficher un template spécifique par championnat. Voici ce chemin:
Et voici ma méthode :
A présent ce que je cherche à faire, c'est lorsque par exemple un template de configuration d'un championnat n'est pas trouvé (problème dans le chemin ou erreur de fichier), cela affiche en dessous de mon select sur ma vue, une erreur dans une div type "alert-danger" et cette erreur devra être logguée dans mon historique.
Je ne sais pas comment procéder pour gérer le cas où le template n'est pas trouvé et qu'il faut logguer cette erreur.
J'ai juste une idée pour le logger en utilisant :
Merci de me donner des idées si vous en avez :/
Je vous explique mon problème.
J'ai actuellement un select dans ma vue, issu d'un FormType, qui me liste tous les types de championnats (L1, L2, National).
J'ai créé une fonction dans un service qui me permets d'aller chercher les paramètres à remplir pour chaque championnat lorsque je sélectionne un championnat dans ma vue, que j'ai appelée getParametersForChampionnats(). A cette méthode je lui passe donc une variable $championnat_type (qui définit comme nommé le type de championnat) et que j'utilise lors de la fabrication de mon chemin pour aller chercher les paramètres qui seront affichés dans ma vue et qui me permettront de m'afficher un template spécifique par championnat. Voici ce chemin:
$content_file_championnat = file_get_contents('championnats/'.$championnat_type.'/template_championnat.conf');
Et voici ma méthode :
public function getParametersForChampionnats($championnat_type)
{
// Traitement méthode
}
A présent ce que je cherche à faire, c'est lorsque par exemple un template de configuration d'un championnat n'est pas trouvé (problème dans le chemin ou erreur de fichier), cela affiche en dessous de mon select sur ma vue, une erreur dans une div type "alert-danger" et cette erreur devra être logguée dans mon historique.
Je ne sais pas comment procéder pour gérer le cas où le template n'est pas trouvé et qu'il faut logguer cette erreur.
J'ai juste une idée pour le logger en utilisant :
$logger = $this->get('logger');
$logger->error("Le template ".$championnat_type." n'est pas trouvé.");
Merci de me donner des idées si vous en avez :/
A voir également:
- Afficher une erreur dans mon formulaire si template inexistant
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Signal faible ou inexistant tv que faire ? - Guide
- Signal faible ou inexistant ✓ - Forum TNT / Satellite / Réception
1 réponse
Salut,
Tu peux utiliser la fonction is_file() pour vérifier que le fichier existe bien, ou vérifier le retour de la fonction file_get_contents() qui retournera le booléen FALSE si une erreur survient lors de la récupération du contenu du fichier.
https://www.php.net/manual/fr/function.is-file.php
https://www.php.net/manual/fr/function.file-get-contents.php
Bonne journée,
Tu peux utiliser la fonction is_file() pour vérifier que le fichier existe bien, ou vérifier le retour de la fonction file_get_contents() qui retournera le booléen FALSE si une erreur survient lors de la récupération du contenu du fichier.
https://www.php.net/manual/fr/function.is-file.php
https://www.php.net/manual/fr/function.file-get-contents.php
Bonne journée,
if (is_file('championnats/'.$championnat_type.'/template_championnat.conf'))Par contre maintenant, je suis bloqué sur la partie je pense la moins dur mais j'avoue que je vois pas du tout comment faire pour afficher une div type "alert-danger" dans ma vue si le template sélectionné n'est pas bon. Je ne vois pas quelle variable lui passer pour faire un {% if %} dans ma vue
Ou peut être en vérifiant le contenu de la variable $content_file_championnat qui doit être affiché si le fichier est correct. Dans le cas où cette variable est vide, on considère que le fichier de conf n'est donc pas correct.