{"id":23822,"date":"2021-05-05T14:32:00","date_gmt":"2021-05-05T11:32:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23822"},"modified":"2021-10-18T03:18:24","modified_gmt":"2021-10-18T00:18:24","slug":"una-guida-per-principianti-per-la-convalida-di-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/una-guida-per-principianti-per-la-convalida-di-laravel\/","title":{"rendered":"Una guida per principianti per la convalida di Laravel"},"content":{"rendered":"<p>Quando costruiamo un sito Web in Laravel, dobbiamo conoscere la convalida di Laravel. <a href=\"https:\/\/laravel.com\/docs\/5.6\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel<\/a> offre un modo diverso per convalidare i dati in entrata. In questo articolo, studiamo alcune nozioni di base sulle Convalide di Laravel.<\/p>\n<p>Durante la creazione di un&#8217;applicazione, dovremmo applicare le convalide lato client e lato server senza errori. In questo modo possiamo proteggere la nostra applicazione da dati non necessari. Di conseguenza, ci far\u00e0 risparmiare molto tempo cancellando i dati di scarto dall&#8217;applicazione.<\/p>\n<p>Detto questo, diamo un&#8217;occhiata a come applicare la convalida Laravel nella tua applicazione.<\/p>\n<p>Per il nostro tutorial, prendiamo un modulo di esempio che ha 2 campi titolo e descrizione. Applicheremo la convalida e se la convalida fallisce verr\u00e0 visualizzato nella nostra vista.<\/p>\n<h3>Convalida Laravelvel<\/h3>\n<p>Per iniziare, dobbiamo includere la seguente dichiarazione nel nostro file del controller.<\/p>\n<p>Inserisci questa dichiarazione prima dell&#8217;inizio del controller come di seguito.<\/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>Prima di scrivere il codice di validazione effettivo, veniamo al file di visualizzazione. Creiamo un semplice form con 2 campi titolo e descrizione.<\/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>Quando inviamo un modulo, verr\u00e0 chiamato il <code>store()<\/code>metodo del nostro controller. Nel tuo caso forse il tuo metodo \u00e8 diverso. Quindi, nel nostro metodo, scriveremo il codice di convalida come segue.<\/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>Puoi notare che abbiamo passato due chiavi &#8216;title&#8217; e &#8216;body&#8217;. Questi sono i nomi dei nostri elementi del modulo. Qui, Laravel controlla se entrambi i campi non sono vuoti e i campi del titolo non superano i 255 caratteri.<\/p>\n<p>Se una qualsiasi delle validazioni fallisce, l&#8217;utente reindirizzer\u00e0 alla pagina che abbiamo passato a un metodo redirect().<\/p>\n<h3>Visualizza messaggi di errore in una vista<\/h3>\n<p>Abbiamo applicato la convalida lato server. Ora diamo un&#8217;occhiata a come visualizzare i messaggi di errore.<\/p>\n<p>Diciamo che la convalida fallisce nel nostro caso e ora dobbiamo visualizzare i messaggi di errore sul nostro modulo. Esistono 2 modi per visualizzare gli errori nelle viste Laravel. In un primo modo, possiamo visualizzare tutti i messaggi di errore insieme nella parte superiore di un modulo. Con il secondo modo, \u00e8 possibile visualizzarlo accanto a ciascun campo che presenta un errore.<\/p>\n<p>Per visualizzare il messaggio di errore nella parte superiore del modulo, aggiungi il codice sottostante sopra il tag del modulo.<\/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>Questo codice visualizzer\u00e0 il messaggio di errore come mostrato nello screenshot qui sotto:<\/p>\n<p>Nel secondo modo, per stampare il messaggio di errore dopo ogni campo. In tal caso, il nostro codice \u00e8 il seguente:<\/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>Nota che stiamo usando <code>@if ($errors-&gt;has('title'))<\/code>per verificare se il campo &quot;titolo&quot; ha un errore di convalida. Se questo campo contiene errori, lo stampiamo utilizzando <code>{{ $errors-&gt;first('title') }}<\/code>. La stessa logica che abbiamo applicato per il campo &#8216;corpo&#8217;. Dai un&#8217;occhiata allo screenshot qui sotto di questo tipo.<\/p>\n<p>Ci auguriamo che tu capisca come applicare la convalida Laravel nella tua applicazione. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/invio-di-e-mail-tramite-il-server-smtp-di-gmail-in-laravel\/\" title=\"Invio di e-mail tramite il server SMTP di Gmail in Laravel\">Invio di e-mail tramite il server SMTP di Gmail in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-installare-e-utilizzare-ckeditor-in-laravel\/\" title=\"Come installare e utilizzare CKEditor in Laravel\">Come installare e utilizzare CKEditor in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stai cercando di applicare la convalida Laravel nella tua applicazione? In questo articolo, studiamo come applicare la convalida Laravel lato server e visualizzare i messaggi di errore in un file di visualizzazione.<\/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":[500],"tags":[846],"class_list":["post-23822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=23822"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=23822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=23822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=23822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}