Salut tout le monde,
Dernièrement j'ai revu ma manière de gérer mes erreurs dans un formulaire ou ailleurs à l'aide des exceptions.
C'est à dire que je fais comme ceci :
Toutes les erreurs de syntaxe etc etc sont gérées dans mes setters de ma classe et lèvent des exceptions
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 if(isset($_POST['valid']) && $_POST['valid']=="Envoyer"){ try { $commentaire = new Commentaire(); $commentaire->setDbh($dbh); $commentaire->setTitre($_POST['titre']); $commentaire->setCommentaire($_POST['commentaire']); $commentaire->setDateCommentaire(date("Y-m-d")); $commentaire->setIdUser(0); $commentaire->setMail($_POST['mail']); } catch (Exception $e){ $smarty->assign('erreur',$e->getMessage()); $smarty->display('commentaire.tpl'); }
exemple :
J'ai un petit problème en faisant la gestion des erreurs de cette manière, étant donné qu'on lève une exception nouvelle pour chaque erreur, je ne peux afficher qu'une seule erreur à la fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function setCommentaire($commentaire){ if(is_string($commentaire)){ $commentaire = strip_tags($commentaire); $commentaire = htmlentities($commentaire); $this->commentaire = $commentaire; } else throw new Exception("Erreur d'insertion commentaire"); }
C'est moche si jamais l'utilisateur se trompe sur plusieurs champs !
Auriez vous une idée pour pallier à ce problème ?
Pensez vous que cette manière de gérer les erreurs soit mauvaise ?
Merci d'avance
Partager