{"id":65598,"date":"2023-05-09T15:53:32","date_gmt":"2023-05-09T13:53:32","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=65598&#038;preview=true&#038;preview_id=65598"},"modified":"2025-01-17T13:59:00","modified_gmt":"2025-01-17T12:59:00","slug":"laravel-validacion","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/","title":{"rendered":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente"},"content":{"rendered":"<p>Ahora m\u00e1s que nunca, es crucial que los datos de tus aplicaciones sean v\u00e1lidos, precisos y cumplan todos los requisitos del sistema. Aborda la necesidad de mantener la coherencia de los datos y evitar vulnerabilidades de seguridad.<\/p>\n<p><a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-laravel\/\">Laravel<\/a> hace que la validaci\u00f3n de datos sea f\u00e1cil e intuitiva. Sigue una arquitectura <a href=\"https:\/\/kinsta.com\/es\/blog\/frameworks-php\/#model-view-controller-architecture\">modelo vista controlador<\/a> (MVC) y s\u00f3lo requiere conocimientos generales de PHP y conceptos de programaci\u00f3n orientada a objetos (OOP). Adem\u00e1s, Laravel ofrece varios m\u00e9todos para validar los datos entrantes.<\/p>\n<p>Explora algunos de estos m\u00e9todos y c\u00f3mo aplicar reglas de validaci\u00f3n a tu conjunto de datos.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>La Validaci\u00f3n de Datos es F\u00e1cil en Laravel<\/h2>\n<p>Laravel proporciona varias reglas de validaci\u00f3n listas para usar cuando los usuarios de tu aplicaci\u00f3n env\u00edan datos a trav\u00e9s de formularios. Puedes marcar los campos de entrada como obligatorios, establecer una longitud m\u00ednima o m\u00e1xima, y exigir entradas \u00fanicas (no duplicadas) y direcciones de correo electr\u00f3nico v\u00e1lidas. El validador de Laravel comprueba si la entrada cumple estas reglas o cualquier otra que especifiques.<\/p>\n<p>Estas <a href=\"https:\/\/laravel.com\/docs\/9.x\/validation#available-validation-rules\">reglas de validaci\u00f3n de Laravel<\/a> incluyen:<\/p>\n<ul>\n<li><code>required<\/code> &#8211; Los datos del campo no deben ser nulos ni estar vac\u00edos.<\/li>\n<li><code>array <\/code> &#8211; Los datos del campo deben ser un array PHP.<\/li>\n<li><code>bail<\/code> &#8211; La regla de validaci\u00f3n deja de ejecutarse cuando encuentra el primer fallo de validaci\u00f3n.<\/li>\n<li><code>email<\/code> &#8211; Los datos del campo deben ser una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.<\/li>\n<li><code>unique<\/code> &#8211; Los datos del campo no deben tener duplicados en la tabla de la base de datos.<\/li>\n<\/ul>\n<p>Todos los m\u00e9todos de validaci\u00f3n tienen pros y contras, pero su variedad te permite elegir el mejor enfoque para tus necesidades. Dependiendo del m\u00e9todo que elijas, la validaci\u00f3n en Laravel puede producirse de varias formas, con mensajes de error manuales o autom\u00e1ticos.<\/p>\n<p>El m\u00e9todo m\u00e1s com\u00fan es code&gt;validate, utilizado para las <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-una-peticion-http\/\">peticiones HTTP<\/a> entrantes. Este m\u00e9todo se encadena a los datos de la petici\u00f3n, ejecutando las reglas de validaci\u00f3n. Puedes separar las reglas de cada campo con comas, como se ve en el ejemplo siguiente.<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Http\\Request;\n \npublic function store (Request $request){\n  $validated = $request-&gt;validate([\n        'email' =&gt; ['required, unique:users, email, bail'],\n        'name' =&gt; ['required'],\n    ]);\n\n}<\/code><\/pre>\n<p>Aqu\u00ed, <code>email<\/code> es una entrada obligatoria, lo que significa que no puede ser nula. Adem\u00e1s, debe ser \u00fanico en la tabla de la base de datos <code>users<\/code>, para garantizar que no se registra dos veces la misma direcci\u00f3n de correo electr\u00f3nico. La \u00faltima regla dicta que la direcci\u00f3n de correo electr\u00f3nico tambi\u00e9n debe ser v\u00e1lida. De lo contrario, el proceso de validaci\u00f3n se detiene. El campo nombre es obligatorio, pero no tiene ninguna otra regla.<\/p>\n<p>Si falla alguna regla de validaci\u00f3n de Laravel, se genera autom\u00e1ticamente una respuesta.<\/p>\n\n<h2>Conceptos B\u00e1sicos de Validaci\u00f3n<\/h2>\n<p>Para comprender mejor los m\u00e9todos de validaci\u00f3n, considera el siguiente ejemplo. Definir\u00e1s una ruta para el endpoint y crear\u00e1s un controlador para validar y procesar los datos de la solicitud.<\/p>\n<p>En primer lugar, crea un endpoint sencillo que permita a los usuarios almacenar sus correos electr\u00f3nicos y <a href=\"https:\/\/kinsta.com\/es\/blog\/administradores-contrasenas\/\">contrase\u00f1as<\/a>.<\/p>\n<h3>Definir la Ruta<\/h3>\n<p>Las rutas de Laravel se definen en el archivo <strong>routes\/web.php<\/strong> para una aplicaci\u00f3n web o <strong>routes\/api.php<\/strong> para una API. Para este ejemplo, utiliza <strong>api.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">use App\\Http\\Controllers\\UserController;\n \nRoute::post('\/store', [UserController::class]);<\/code><\/pre>\n<h3>Crear el Controlador<\/h3>\n<p>Ejecuta este comando de Artisan para crear el controlador:<\/p>\n<pre><code class=\"language-php\">php artisan make:controller\n\nUserController<\/code><\/pre>\n<p>Este comando crea un archivo <strong>UserController.php<\/strong> en el directorio <strong>app\/Http\/Controllers<\/strong>.<\/p>\n<p>Ahora, define un m\u00e9todo <code>store<\/code> para validar los datos que entran en el endpoint de la tienda antes de almacenarlos.<\/p>\n<p>Este ejemplo validar\u00e1 los siguientes campos utilizando estas reglas:<\/p>\n<ul>\n<li><strong>correo electr\u00f3nico<\/strong> \u2014 Debe ser \u00fanico, un correo electr\u00f3nico v\u00e1lido, y debe ser obligatorio<\/li>\n<li><strong>contrase\u00f1a<\/strong> \u2014 Debe tener una longitud m\u00ednima, una confirmaci\u00f3n de contrase\u00f1a y debe ser obligatoria<\/li>\n<li><strong>edad<\/strong> \u2014 Debe ser un n\u00famero y debe ser obligatorio<\/li>\n<\/ul>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace App\\Http\\Controllers;\nuse Illuminate\\Http\\Request;\nclass UserController extends Controller\n{\n    \/**\n     * Store new user details.\n     *\n     *\/\n    public function store(Request $request){\n        $validated = $request-&gt;validate([\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ]);\n        \/\/ After user data is validated, logic to store the data\n    }\n\n}<\/code><\/pre>\n<p>La regla <code>confirmed<\/code> te permite requerir un campo concreto dos veces para verificar que los datos son correctos, como por ejemplo que los usuarios vuelvan a introducir sus contrase\u00f1as durante el registro. Esta regla requiere un campo llamado <code>password_confirmation<\/code>, cuyos datos deben coincidir con los del campo <strong>contrase\u00f1a<\/strong>.<\/p>\n<h3>Mostrar Mensajes de Error<\/h3>\n<p>Si se cumplen los criterios de validaci\u00f3n, tu c\u00f3digo seguir\u00e1 ejecut\u00e1ndose normalmente. Si la validaci\u00f3n falla, se lanza una excepci\u00f3n <code>IlluminateValidationValidationException<\/code> y se devuelve la respuesta de error apropiada.<\/p>\n<p>El ejemplo se basa en una API, que devuelve una respuesta HTTP <code>422 Unprocessable Entity<\/code> en formato JSON. En el caso de las aplicaciones web, redirigir\u00eda a la URL anterior para mostrar el mensaje de error, y los datos de la solicitud pasar\u00edan a la sesi\u00f3n.<\/p>\n<p>Puedes utilizar la variable <code>$errors<\/code> en tus vistas para mostrar los errores devueltos:<\/p>\n<pre><code class=\"language-php\">@if ($errors-&gt;any())\n    &lt;div class=\"alert alert-danger\"&gt;\n        &lt;ul&gt;\n            @foreach ($errors-&gt;all() as $error)\n                &lt;li&gt;{{ $error }}&lt;\/li&gt;\n            @endforeach\n        &lt;\/ul&gt;\n    &lt;\/div&gt;\n@endif<\/code><\/pre>\n<p>Tambi\u00e9n puedes elegir ver s\u00f3lo el primer error o hacer un bucle para verlos todos.<\/p>\n<pre><code class=\"language-php\">\/\/ Fetch all errors\n$errors-&gt;all()\n\n\/\/ Fetch only the first error\n$errors-&gt;first()<\/code><\/pre>\n<h3>Repoblar Formularios<\/h3>\n<p>La repoblaci\u00f3n de formularios evita que los usuarios tengan que volver a escribir la informaci\u00f3n para que puedan centrarse en solucionar el error. En el ejemplo del fallo de una direcci\u00f3n de correo electr\u00f3nico, puedes repoblar el resto del formulario llamando al valor antiguo del campo <code>name<\/code>.<\/p>\n<pre><code class=\"language-php\">$name = $request-&gt; old('name')\n\n\/\/Blade helper\n&lt;input type=\"text\" name=\"name\" value=\"{{ old('name') }}\"&gt;\n\n<\/code><\/pre>\n<p>Esta regla devolver\u00eda <code>null<\/code> si no hubiera ninguna entrada anterior.<\/p>\n<h2>Validaci\u00f3n Avanzada<\/h2>\n<p>Laravel proporciona otro m\u00e9todo para escribir validaciones llamado peticiones de formulario. Una solicitud de formulario es una clase de solicitud personalizada que organiza las validaciones y simplifica tu controlador.<\/p>\n<p>Tienen su propia l\u00f3gica de validaci\u00f3n y autorizaci\u00f3n adecuada para grandes vol\u00famenes de entrada y pueden utilizarse para definir reglas de validaci\u00f3n y personalizar los mensajes de error.<\/p>\n<p>Para crear una solicitud de formulario, ejecuta este comando de Artisan:<\/p>\n<pre><code class=\"language-php\">php artisan make:request StoreUserRequest<\/code><\/pre>\n<p>Este comando crea un archivo <strong>StoreUserRequest.php<\/strong> en el directorio <strong>app\/Http\/Requests<\/strong> y contiene dos m\u00e9todos por defecto:<\/p>\n<ul>\n<li><code>rules<\/code> devuelve reglas de validaci\u00f3n para los datos de la solicitud<\/li>\n<li><code>authorize<\/code> devuelve un booleano para indicar si ese usuario tiene permiso para realizar la acci\u00f3n solicitada.<\/li>\n<\/ul>\n<p>Convierte el ejemplo anterior para utilizar una solicitud de formulario.<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace App\\Http\\Requests;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nclass StoreUserRequest extends FormRequest\n{\n    \/**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     *\/\n    public function authorize()\n    {\n        \/\/ Add logic to check if the user is authorized to submit this data.\n        return true;\n    }\n    \/**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array&lt;string, mixed&gt;\n     *\/\n    public function rules()\n    {\n        return [\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ];\n    }\n\n}<\/code><\/pre>\n<p>Para personalizar los mensajes de error de estas reglas, puedes anular el m\u00e9todo messages de la clase <code>FormRequest<\/code>.<\/p>\n<pre><code class=\"language-php\">\/**\n\n     * Get the error messages for the defined validation rules.\n     *\n     * @return array\n     *\/\n    public function messages()\n    {\n        return [\n            'email.required' =&gt; 'An email address is required',\n            'email.email' =&gt; 'The email address must be valid',\n            'password.confirmed'=&gt;'Re-type your password as \npassword_confirmation, passwords does not match'\n        ];\n\n    }<\/code><\/pre>\n<p><strong>Nota:<\/strong> El nombre de los datos y la regla de validaci\u00f3n van separados por un punto (.) antes de los datos del mensaje.<\/p>\n<h2>Validaci\u00f3n Personalizada<\/h2>\n<p>Para crear una validaci\u00f3n personalizada, puedes utilizar una fachada <code>Validator<\/code> en lugar de <code>validate<\/code>. La instancia del validador contiene dos argumentos: los datos que se van a validar y una matriz de reglas de validaci\u00f3n. Estos dos argumentos se pasan al m\u00e9todo <code>::make<\/code> de la fachada del validador, generando una nueva instancia del validador.<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Http\\Request; \n\npublic function store (Request $request){\n        $validator = Validator::make($request-&gt;all(),[\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ]);\n        if ($validator-&gt;fails()) {\n            \/\/ Return errors or redirect back with errors\n            return $validator-&gt;errors();\n        }\n \n        \/\/ Retrieve the validated input...\n        $validated = $validator-&gt;validated();\n        \/\/ Continue logic to store the data\n\n    }<\/code><\/pre>\n<p>Si quieres a\u00f1adir una directa autom\u00e1tica, puedes ejecutar el m\u00e9todo <code>validate<\/code> en una instancia de validador preexistente. Si la validaci\u00f3n falla, una petici\u00f3n XHR produce una respuesta JSON con <code>422 Unprocessable Entity<\/code> como c\u00f3digo de estado, o el usuario ser\u00e1 redirigido inmediatamente.<\/p>\n<pre><code class=\"language-php\">$validator = Validator::make($request-&gt;all(),[\n'email' =&gt; 'required|unique:users|email',\n'password' =&gt; 'required|min:7|confirmed'\n])-&gt;validate();<\/code><\/pre>\n<p>Tambi\u00e9n puedes personalizar tus mensajes de error pasando un tercer argumento llamado <code>messages<\/code> a <code>Validate::make method<\/code>:<\/p>\n<pre><code class=\"language-php\">$validator = Validator::make($request-&gt;all(),[\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ], $messages = [\n            'required' =&gt; 'The :attribute field is required.',\n]);<\/code><\/pre>\n<p><strong>Nota:<\/strong> El <code>:attribute<\/code> se sustituye por el nombre del campo sometido a validaci\u00f3n.<\/p>\n\n<h2>Resumen<\/h2>\n<p>Realizar la validaci\u00f3n de datos es crucial para mantener tu conjunto de datos limpio, correcto y completo. La validaci\u00f3n de datos te permite eliminar errores en tus datos que podr\u00edan corromper o afectar de otro modo a tu proyecto. La validaci\u00f3n es cada vez m\u00e1s importante cuando se trabaja a escala y con grandes cantidades de datos.<\/p>\n<p>Laravel permite numerosos enfoques flexibles para garantizar la integridad y exactitud de los datos que pasan por tu aplicaci\u00f3n. Puedes conseguir una l\u00f3gica de validaci\u00f3n complicada con m\u00e9todos predeterminados y personalizables, haciendo que tu c\u00f3digo base est\u00e9 bien estructurado y sea m\u00e1s f\u00e1cilmente reutilizable.<\/p>\n<p><a href=\"https:\/\/sevalla.com\/application-hosting\/\">Env\u00eda tus aplicaciones Laravel m\u00e1s r\u00e1pido<\/a> con los servicios de alojamiento de aplicaciones de Kinsta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ahora m\u00e1s que nunca, es crucial que los datos de tus aplicaciones sean v\u00e1lidos, precisos y cumplan todos los requisitos del sistema. Aborda la necesidad de &#8230;<\/p>\n","protected":false},"author":199,"featured_media":65599,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1303],"class_list":["post-65598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Validaci\u00f3n de Datos en Laravel: Conveniente y Potente - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente\" \/>\n<meta property=\"og:description\" content=\"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-09T13:53:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-17T12:59:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente\",\"datePublished\":\"2023-05-09T13:53:32+00:00\",\"dateModified\":\"2025-01-17T12:59:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\"},\"wordCount\":1388,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\",\"name\":\"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\",\"datePublished\":\"2023-05-09T13:53:32+00:00\",\"dateModified\":\"2025-01-17T12:59:00+00:00\",\"description\":\"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg\",\"width\":3042,\"height\":1521,\"caption\":\"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente - Kinsta\u00ae","description":"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/","og_locale":"es_ES","og_type":"article","og_title":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente","og_description":"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.","og_url":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2023-05-09T13:53:32+00:00","article_modified_time":"2025-01-17T12:59:00+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","twitter_creator":"@Kinsta_ES","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente","datePublished":"2023-05-09T13:53:32+00:00","dateModified":"2025-01-17T12:59:00+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/"},"wordCount":1388,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/","url":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/","name":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","datePublished":"2023-05-09T13:53:32+00:00","dateModified":"2025-01-17T12:59:00+00:00","description":"La validaci\u00f3n de Laravel garantiza que los datos de tus aplicaciones sean v\u00e1lidos, precisos, cumplan todos los requisitos del sistema y sean poderosos y convenientes.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-validation.jpg","width":3042,"height":1521,"caption":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-validacion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/es\/secciones\/laravel\/"},{"@type":"ListItem","position":3,"name":"Validaci\u00f3n de Datos en Laravel: Conveniente y Potente"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=65598"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65598\/revisions"}],"predecessor-version":[{"id":65721,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65598\/revisions\/65721"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/translations\/dk"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65598\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/65599"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=65598"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=65598"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=65598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}