{"id":27241,"date":"2021-05-05T14:09:00","date_gmt":"2021-05-05T11:09:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27241"},"modified":"2021-10-17T17:30:58","modified_gmt":"2021-10-17T14:30:58","slug":"una-guia-para-principiantes-para-la-validacion-de-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/una-guia-para-principiantes-para-la-validacion-de-laravel\/","title":{"rendered":"Una gu\u00eda para principiantes para la validaci\u00f3n de Laravel"},"content":{"rendered":"<p>Cuando creamos un sitio web en Laravel, debemos conocer la validaci\u00f3n de Laravel. <a href=\"https:\/\/laravel.com\/docs\/5.6\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel<\/a> proporciona una forma diferente de validar sus datos entrantes. En este art\u00edculo, estudiamos algunos conceptos b\u00e1sicos sobre las validaciones de Laravel.<\/p>\n<p>Al construir una aplicaci\u00f3n, debemos aplicar validaciones del lado del cliente y del lado del servidor sin falta. Al hacerlo, podemos proteger nuestra aplicaci\u00f3n de datos innecesarios. Como resultado, nos ahorrar\u00e1 mucho tiempo eliminando los datos de desperdicio de la aplicaci\u00f3n.<\/p>\n<p>Habiendo dicho eso, echemos un vistazo a c\u00f3mo aplicar la validaci\u00f3n de Laravel en su aplicaci\u00f3n.<\/p>\n<p>Para nuestro tutorial, tomamos un formulario de ejemplo que tiene 2 campos de t\u00edtulo y descripci\u00f3n. Aplicaremos la validaci\u00f3n y si la validaci\u00f3n falla, se mostrar\u00e1 en nuestra vista.<\/p>\n<h3>Validaci\u00f3n de Laravel<\/h3>\n<p>Para comenzar, debemos incluir la siguiente declaraci\u00f3n en nuestro archivo de controlador.<\/p>\n<p>Coloque esta declaraci\u00f3n antes del inicio de su controlador como se muestra a continuaci\u00f3n.<\/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 escribir el c\u00f3digo de validaci\u00f3n real, vayamos al archivo de vista. Creamos un formulario simple con 2 campos de t\u00edtulo y descripci\u00f3n.<\/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>Cuando enviamos un formulario, llamar\u00e1 al <code>store()<\/code>m\u00e9todo de nuestro controlador. En tu caso, quiz\u00e1s tu m\u00e9todo sea diferente. Entonces, en nuestro m\u00e9todo, escribiremos el c\u00f3digo de validaci\u00f3n de la siguiente manera.<\/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>Puede notar que pasamos dos claves &#8216;t\u00edtulo&#8217; y &#8216;cuerpo&#8217;. Estos son el nombre de nuestros elementos de formulario. Aqu\u00ed, Laravel comprueba si ambos campos no est\u00e1n vac\u00edos y los campos de t\u00edtulo no superan los 255 caracteres.<\/p>\n<p>Si alguna de las validaciones falla, el usuario lo redireccionar\u00e1 a la p\u00e1gina que pasamos a un m\u00e9todo redirect().<\/p>\n<h3>Mostrar mensajes de error en una vista<\/h3>\n<p>Hemos aplicado la validaci\u00f3n del lado del servidor. Ahora echemos un vistazo a c\u00f3mo mostrar mensajes de error.<\/p>\n<p>Digamos que la validaci\u00f3n falla en nuestro caso y ahora necesitamos mostrar mensajes de error en nuestro formulario. Hay 2 formas de mostrar los errores en las vistas de Laravel. En una primera forma, podemos mostrar todos los mensajes de error juntos en la parte superior de un formulario. De la segunda forma, se puede mostrar junto a cada campo que tiene un error.<\/p>\n<p>Para mostrar el mensaje de error en la parte superior del formulario, agregue el siguiente c\u00f3digo encima de la etiqueta del formulario.<\/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 mostrar\u00e1 el mensaje de error como se muestra en la captura de pantalla a continuaci\u00f3n:<\/p>\n<p>De la segunda forma, imprimir el mensaje de error despu\u00e9s de cada campo. En ese caso, nuestro c\u00f3digo es el siguiente:<\/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 si el campo &#8216;t\u00edtulo&#8217; tiene un error de validaci\u00f3n. Si este campo tiene un error, lo imprimimos usando <code>{{ $errors-&gt;first('title') }}<\/code>. La misma l\u00f3gica que aplicamos para el campo &#8216;cuerpo&#8217;. Eche un vistazo a la siguiente captura de pantalla de este tipo.<\/p>\n<p>Esperamos que comprenda c\u00f3mo aplicar la validaci\u00f3n de Laravel en su aplicaci\u00f3n. Comparta sus pensamientos en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/envio-de-correo-electronico-a-traves-del-servidor-smtp-de-gmail-en-laravel\/\" title=\"Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel\">Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-instalar-y-usar-ckeditor-en-laravel\/\" title=\"C\u00f3mo instalar y usar CKEditor en Laravel\">C\u00f3mo instalar y usar CKEditor en Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfEst\u00e1 buscando aplicar la validaci\u00f3n de Laravel en su aplicaci\u00f3n? En este art\u00edculo, estudiamos c\u00f3mo aplicar la validaci\u00f3n de Laravel del lado del servidor y mostrar los mensajes de error en un archivo de visualizaci\u00f3n.<\/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":[495],"tags":[849],"class_list":["post-27241","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=27241"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27241\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}