{"id":23746,"date":"2021-05-05T14:38:00","date_gmt":"2021-05-05T11:38:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23746"},"modified":"2021-10-18T02:21:18","modified_gmt":"2021-10-17T23:21:18","slug":"un-guide-du-debutant-pour-la-validation-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/un-guide-du-debutant-pour-la-validation-laravel\/","title":{"rendered":"Un guide du d\u00e9butant pour la validation Laravel"},"content":{"rendered":"<p>Lorsque nous construisons un site Web dans Laravel, nous devons conna\u00eetre la validation Laravel. <a href=\"https:\/\/laravel.com\/docs\/5.6\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel<\/a> fournit un moyen diff\u00e9rent de valider vos donn\u00e9es entrantes. Dans cet article, nous \u00e9tudions quelques notions de base sur les validations Laravel.<\/p>\n<p>Lors de la cr\u00e9ation d&rsquo;une application, nous devons appliquer les validations c\u00f4t\u00e9 client et c\u00f4t\u00e9 serveur sans faute. Ce faisant, nous pouvons prot\u00e9ger notre application contre les donn\u00e9es inutiles. En cons\u00e9quence, cela nous fera gagner beaucoup de temps en supprimant les donn\u00e9es perdues de l&rsquo;application.<\/p>\n<p>Cela dit, examinons comment appliquer la validation Laravel dans votre application.<\/p>\n<p>Pour notre tutoriel, nous prenons un exemple de formulaire qui comporte 2 champs titre et description. Nous appliquerons la validation et si la validation \u00e9choue, elle s&rsquo;affichera dans notre vue.<\/p>\n<h3>Validation Laravel<\/h3>\n<p>Pour commencer, nous devons inclure l&rsquo;instruction ci-dessous dans notre fichier de contr\u00f4leur.<\/p>\n<p>Placez cette instruction avant le d\u00e9marrage de votre contr\u00f4leur comme ci-dessous.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse Validator;\n\u00a0\nclass PostController extends Controller\n{\n\u00a0\u00a0\u00a0.....\n}<\/code><\/pre>\n<p>Avant d&rsquo;\u00e9crire le code de validation r\u00e9el, venons au fichier de vue. Nous cr\u00e9ons un formulaire simple avec 2 champs titre et description.<\/p>\n<pre><code>&lt;form action=\"{{ url('post') }}\" method=\"post\"&gt;\n\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputTitle\"&gt;Post Title&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"title\" id=\"exampleInputTitle\" \/&gt;\n\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputBody\"&gt;Post Body&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;textarea class=\"form-control\" name=\"body\" id=\"exampleInputBody\" rows=\"10\"&gt;&lt;\/textarea&gt;\n\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0{{ csrf_field() }}\n\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-default\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Lorsque nous soumettons un formulaire, il appellera la <code>store()<\/code>m\u00e9thode de notre contr\u00f4leur. Dans votre cas, votre m\u00e9thode est peut-\u00eatre diff\u00e9rente. Ainsi, dans notre m\u00e9thode, nous \u00e9crirons le code de validation comme suit.<\/p>\n<pre><code>public function store(Request $request)\n{\n\u00a0\u00a0\u00a0\u00a0$validator = Validator::make($request-&gt;all(), [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title' =&gt; 'required|max:255',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'body' =&gt; 'required',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if ($validator-&gt;fails()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return redirect('post\/create')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withErrors($validator)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withInput();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/safe to proceed form\n}<\/code><\/pre>\n<p>Vous pouvez remarquer que nous avons pass\u00e9 deux cl\u00e9s &lsquo;title&rsquo; et &lsquo;body&rsquo;. Ce sont les noms de nos \u00e9l\u00e9ments de formulaire. Ici, Laravel v\u00e9rifie si les deux champs ne sont pas vides et que les champs de titre ne d\u00e9passent pas 255 caract\u00e8res.<\/p>\n<p>Si l&rsquo;une des validations \u00e9choue, l&rsquo;utilisateur sera redirig\u00e9 vers la page que nous avons transmise \u00e0 une m\u00e9thode redirect().<\/p>\n<h3>Afficher les messages d&rsquo;erreur dans une vue<\/h3>\n<p>Nous avons appliqu\u00e9 la validation c\u00f4t\u00e9 serveur. Voyons maintenant comment afficher les messages d&rsquo;erreur.<\/p>\n<p>Disons que la validation \u00e9choue dans notre cas et que nous devons maintenant afficher des messages d&rsquo;erreur sur notre formulaire. Il existe 2 fa\u00e7ons d&rsquo;afficher les erreurs dans les vues Laravel. Dans un premier temps, nous pouvons afficher tous les messages d&rsquo;erreur ensemble en haut d&rsquo;un formulaire. Par la seconde fa\u00e7on, on peut l&rsquo;afficher \u00e0 c\u00f4t\u00e9 de chaque champ qui a une erreur.<\/p>\n<p>Pour afficher le message d&rsquo;erreur en haut du formulaire, ajoutez le code ci-dessous au-dessus de la balise du formulaire.<\/p>\n<pre><code>@if ($errors-&gt;any())\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;ul&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@foreach ($errors-&gt;all() as $error)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li&gt;{{ $error }}&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@endforeach\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/ul&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n@endif<\/code><\/pre>\n<p>Ce code affichera le message d&rsquo;erreur comme indiqu\u00e9 dans la capture d&rsquo;\u00e9cran ci-dessous\u00a0:<\/p>\n<p>Dans la seconde mani\u00e8re, imprimer le message d&rsquo;erreur apr\u00e8s chaque champ. Dans ce cas, notre code est le suivant :<\/p>\n<pre><code>&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0&lt;label for=\"exampleInputTitle\"&gt;Post Title&lt;\/label&gt;\n\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"title\" id=\"exampleInputTitle\" \/&gt;\n\u00a0\u00a0\u00a0@if ($errors-&gt;has('title'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;span class=\"error\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{{ $errors-&gt;first('title') }}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/span&gt;\n\u00a0\u00a0\u00a0@endif\n\u00a0\n&lt;\/div&gt;\n&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0&lt;label for=\"exampleInputBody\"&gt;Post Body&lt;\/label&gt;\n\u00a0\u00a0\u00a0&lt;textarea class=\"form-control\" name=\"body\" id=\"exampleInputBody\" rows=\"10\"&gt;&lt;\/textarea&gt;\n\u00a0\u00a0\u00a0@if ($errors-&gt;has('body'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;span class=\"error\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{{ $errors-&gt;first('body') }}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/span&gt;\n\u00a0\u00a0\u00a0@endif\n&lt;\/div&gt;<\/code><\/pre>\n<p>Notez que nous utilisons <code>@if ($errors-&gt;has('title'))<\/code>pour v\u00e9rifier si le champ &lsquo;titre&rsquo; a une erreur de validation. Si ce champ contient une erreur, nous l&rsquo;imprimons en utilisant <code>{{ $errors-&gt;first('title') }}<\/code>. La m\u00eame logique que nous avons appliqu\u00e9e pour le champ &lsquo;corps&rsquo;. Jetez un \u0153il \u00e0 la capture d&rsquo;\u00e9cran ci-dessous de ce type.<\/p>\n<p>Nous esp\u00e9rons que vous comprendrez comment appliquer la validation Laravel dans votre application. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es dans la section commentaire ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/envoi-d-e-mails-via-le-serveur-smtp-de-gmail-dans-laravel\/\" title=\"Envoi d&#039;e-mails via le serveur SMTP de Gmail dans Laravel\">Envoi d&rsquo;e-mails via le serveur SMTP de Gmail dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-installer-et-utiliser-ckeditor-dans-laravel\/\" title=\"Comment installer et utiliser CKEditor dans Laravel\">Comment installer et utiliser CKEditor dans Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous cherchez \u00e0 appliquer la validation Laravel dans votre application ? Dans cet article, nous \u00e9tudions comment appliquer la validation Laravel c\u00f4t\u00e9 serveur et afficher les messages d&rsquo;erreur dans un fichier de vue.<\/p>\n","protected":false},"author":1,"featured_media":21749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[497],"tags":[844],"class_list":["post-23746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=23746"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23746\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=23746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=23746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=23746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}