Et sinon, pourquoi ne pas simplement séparer les formulaires sur 3 pages différentes ? Enfin j'ai un peu de mal à comprendre la logique du truc là.
Salut !
Bon je n'arrive pas à faire ce que je veux avec le validator de Laravel, c'est peut-être impossible qui sait !
J'ai en gros mon controleur CommentController.
Ce controleur permet d'enregistrer un commentaire dans ma BDD. Un commentaire fait référence à une actualité OU à un film OU à un épisode. En aucun cas un commentaire peut avoir comme référence une actualité et un film par exemple.
J'ai donc 3 formulaires, un dans chaque vue (Films, Episodes, Actualités).
Et j'aimerai que le validator vérifie que j'ai que une variable retournée par le formulaire, par exemple que j'ai que id_movie ou que id_episode et que si par exemple un petit malin fait passer les deux ou voir les trois ça refuse.
J'avais fait ça avec des conditions mais c'est pas très propre, c'est pour ça que je préfère passer par le validator :
J'ai bien regardé sur la doc (https://laravel.com/docs/5.4/validation#available-validation-rules) mais malgrè plusieurs essais ça ne fonctionne pas
10 réponses
Salut,
Tu as tout dans la documentation, partie Validation ;)
Justement j'ai regardé mais ça ne marche pas, je trouve pas la bonne règle.
J'ai essayé ça mais ça marche pas :
Required With
Required Without
J'ai trois pages différentes avec 1 formulaire par page justement.
Mais j'ai qu'un controleur pour ces trois pages.
Le formulaire de la page 1 contient : id_news
Le formulaire de la page 2 contient : id_movie
Le formulaire de la page 3 contient : id_episode
Et je veux vérifier dans mon controleur avec le validator que chaque formulaire ne retourne que sa valeur, que par exemple la page 2 ne retourne que id_movie et pas id_news en plus ou id_episode.
A ce moment là, dans ton contrôleur, crée une méthode par type. Oui c'est pas opti, mais ça te permettra de gérer la validation plus facilement ;)
Tu peux aussi créer une méthode privée qui te permettra te persister les data en BD, comme ça tu ne te répète pas trop ;)
Ouais c'est ce que j'ai actuellement, c'est pas terrible mais bon
Beh au moins tu sépares la validation, donc c'est bon comme ça ;)
Bonjour,
Pour ta validation tu peux passer par FormRequest Validation, tu crées une request php artisan make:request NomRequest après tu l'injecte dans ta fonction au lieu de la reqest par défaut.
Dans la fonction rules() de la class request tu a accès aux donnés postées, et avec des conditions tu peux avoir ce que tu veux.
Exemple:
J'espère que ça ira ...
Salut,
tu peut essayé ça :
mais je le probleme c'est la structure de ta table comments elle contient tout ces champ où quoi ?
si oui il est necessaire qui il sont nullable bah il est mieux que tu peut nous données ta migration
j'espere ça fonctione c'est la logique que tu est besoin .
pour afficher les erreurs tu peut utiliser ça :
dans ta vue pour voir les erreurs.