{"id":27015,"date":"2021-05-05T14:14:00","date_gmt":"2021-05-05T11:14:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27015"},"modified":"2021-10-18T04:16:57","modified_gmt":"2021-10-18T01:16:57","slug":"um-guia-para-iniciantes-para-validacao-do-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/um-guia-para-iniciantes-para-validacao-do-laravel\/","title":{"rendered":"Um guia para iniciantes para valida\u00e7\u00e3o do Laravel"},"content":{"rendered":"<p>Quando constru\u00edmos um site no Laravel, devemos saber sobre a valida\u00e7\u00e3o do Laravel. <a href=\"https:\/\/laravel.com\/docs\/5.6\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">O Laravel<\/a> oferece uma maneira diferente de validar seus dados recebidos. Neste artigo, estudamos alguns fundamentos sobre as valida\u00e7\u00f5es do Laravel.<\/p>\n<p>Ao construir um aplicativo, devemos aplicar valida\u00e7\u00f5es do lado do cliente e do lado do servidor sem falhas. Fazendo isso, podemos proteger nosso aplicativo de dados desnecess\u00e1rios. Como resultado, isso nos poupar\u00e1 muito tempo limpando dados perdidos do aplicativo.<\/p>\n<p>Dito isso, vamos dar uma olhada em como aplicar a valida\u00e7\u00e3o do Laravel em sua aplica\u00e7\u00e3o.<\/p>\n<p>Para o nosso tutorial, usamos um formul\u00e1rio de exemplo que possui 2 campos, t\u00edtulo e descri\u00e7\u00e3o. Vamos aplicar a valida\u00e7\u00e3o e se a valida\u00e7\u00e3o falhar, ela ser\u00e1 exibida em nossa vis\u00e3o.<\/p>\n<h3>Valida\u00e7\u00e3o Laravel<\/h3>\n<p>Para come\u00e7ar, precisamos incluir a instru\u00e7\u00e3o abaixo em nosso arquivo de controlador.<\/p>\n<p>Coloque esta declara\u00e7\u00e3o antes do in\u00edcio do seu controlador como abaixo.<\/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>Antes de escrever o c\u00f3digo de valida\u00e7\u00e3o real, vamos ao arquivo de visualiza\u00e7\u00e3o. Criamos um formul\u00e1rio simples com 2 campos t\u00edtulo e descri\u00e7\u00e3o.<\/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 enviarmos um formul\u00e1rio, ele far\u00e1 uma chamada para o <code>store()<\/code>m\u00e9todo do nosso controlador. No seu caso, talvez o seu m\u00e9todo seja diferente. Portanto, em nosso m\u00e9todo, escreveremos o c\u00f3digo de valida\u00e7\u00e3o da seguinte maneira.<\/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>Voc\u00ea pode notar que passamos duas chaves &#8216;t\u00edtulo&#8217; e &#8216;corpo&#8217;. Estes s\u00e3o os nomes dos nossos elementos de formul\u00e1rio. Aqui, o Laravel verifica se os dois campos n\u00e3o est\u00e3o vazios e se os campos de t\u00edtulo n\u00e3o ultrapassam 255 caracteres.<\/p>\n<p>Se alguma das valida\u00e7\u00f5es falhar, o usu\u00e1rio ir\u00e1 redirecionar para a p\u00e1gina que passamos para um m\u00e9todo redirect().<\/p>\n<h3>Exibir mensagens de erro em uma visualiza\u00e7\u00e3o<\/h3>\n<p>Aplicamos a valida\u00e7\u00e3o do lado do servidor. Agora, vamos dar uma olhada em como exibir mensagens de erro.<\/p>\n<p>Digamos que a valida\u00e7\u00e3o falhe em nosso caso e agora precisamos exibir mensagens de erro em nosso formul\u00e1rio. Existem 2 maneiras de mostrar os erros nas visualiza\u00e7\u00f5es do Laravel. Em primeiro lugar, podemos exibir todas as mensagens de erro juntas no topo de um formul\u00e1rio. A prop\u00f3sito, pode-se exibi-lo ao lado de cada campo que cont\u00e9m um erro.<\/p>\n<p>Para exibir a mensagem de erro na parte superior do formul\u00e1rio, adicione o c\u00f3digo abaixo acima da tag do formul\u00e1rio.<\/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>Este c\u00f3digo exibir\u00e1 a mensagem de erro conforme mostrado na captura de tela abaixo:<\/p>\n<p>Na segunda forma, imprimir a mensagem de erro ap\u00f3s cada campo. Nesse caso, nosso c\u00f3digo \u00e9 o seguinte:<\/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>Observe que estamos usando <code>@if ($errors-&gt;has('title'))<\/code>para verificar se o campo &#8216;title&#8217; tem um erro de valida\u00e7\u00e3o. Se este campo tiver erro, ent\u00e3o o imprimimos usando <code>{{ $errors-&gt;first('title') }}<\/code>. A mesma l\u00f3gica que aplicamos para o campo &#8216;corpo&#8217;. D\u00ea uma olhada na imagem abaixo deste tipo.<\/p>\n<p>Esperamos que voc\u00ea entenda como aplicar a valida\u00e7\u00e3o do Laravel em sua aplica\u00e7\u00e3o. Por favor, compartilhe suas id\u00e9ias na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/enviando-e-mail-via-servidor-smtp-do-gmail-no-laravel\/\" title=\"Enviando e-mail via servidor SMTP do Gmail no Laravel\">Enviando e-mail via servidor SMTP do Gmail no Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-instalar-e-usar-o-ckeditor-no-laravel\/\" title=\"Como instalar e usar o CKEditor no Laravel\">Como instalar e usar o CKEditor no Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 procurando aplicar a valida\u00e7\u00e3o do Laravel em sua aplica\u00e7\u00e3o? Neste artigo, estudamos como aplicar a valida\u00e7\u00e3o do Laravel do lado do servidor e exibir as mensagens de erro em um arquivo de visualiza\u00e7\u00e3o.<\/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":[502],"tags":[848],"class_list":["post-27015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27015"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27015\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}