Cargando



Validaciones avanzadas con Laravel

Tutorial explicando las validaciones avanzadas que se ajusten a nuestras necesidades en una aplicación escrita en Laravel.


nov 07 2014 02:36
Avanzado
ago 20 2016 13:32

Las validaciones son una parte muy importante de los formularios web, ya que ellas nos permiten hacer un filtrado de todo lo que el usuario pueda ingresar en los espacios abiertos para la captura de datos; con unas buenas validaciones podemos reducir los riesgos de seguridad de nuestra aplicación, así como también podemos evitar que el usuario ingrese datos que vayan en contra del flujo de la misma.

 

Como siempre, a pesar que Laravel nos ofrece un set muy interesante de validaciones para diversos escenarios, hay casos en los cuales necesitamos una validación muy particular para nuestra aplicación y como tal nos toca construirla por nuestros propios medios.

 

Construir la validación
Lo primero que necesitaremos es una instalación estándar de Laravel, luego necesitamos identificar un tipo de validación que no tengamos dentro del framework, en este caso vamos a crear un contador de checkboxes, por lo que si no hay una cantidad determinada de checkboxes marcados vamos a hacer que falle la validación.

 

 

Creando la aplicación


En primer lugar debemos crear una vista, esta va a tener un formulario donde ingresaremos los datos necesarios, vamos a crear una lista de checkboxes donde el usuario tendrá que elegir una cantidad que definiremos. Para lograr esto vamos a crear un archivo llamado validacion.php en la carpeta views y debe contener algo similar a lo que vemos en la imagen:

 

 

La vista que creamos solo tiene un par de campos, el primero es un campo de texto para obtener un correo electrónico y nuestro segundo campo es en realidad una cantidad de checkboxes que pasaremos a nuestra ruta para poder hacer la validación.

 

 

Validando


Para validar solo necesitaremos unas rutas, la primera es la que mostrará la vista y la segunda es la que realmente hará nuestra validación, en esta vamos a obtener los campos enviados por el formulario:

 

laravel-validaciones-avanzadas2.jpg

 

Como vemos hemos creado un par de arreglos con las validaciones para el caso del primer campo utilizamos la validación interna de emails, sin embargo para el segundo campo llamamos a una validación que se llama validacion_avanzada y cómo podemos haber inferido debemos construirla.

 

Para hacer nuestra validación personalizada en el mismo archivo de rutas vamos a crear un método que va a heredar de Validator y dentro haremos la lógica de lo que queremos validar en este caso que tengamos dos campos checkbox marcados, para ello recibiremos el campo y con la función count() sabremos cuantos elementos tiene, si cumple con nuestro requisito pasará de lo contrario, será rechazado y podremos validar el campo, veamos como luce esto en la siguiente imagen:

 

laravel-validaciones-avanzadas3.jpg

 

Finalmente ya al momento de correr nuestra aplicación podremos probar nuestra validación, lo importante que vemos aquí es que podemos crear diferentes tipos de validaciones aplicando lo que hemos aprendido acá.

 

Con esto finalizamos este tutorial, pudimos aprender como sobreponernos a los límites que puedan existir en Laravel al construir validaciones que no están dentro del framework, esto utilizando un poco de lógica y las herramientas que el mismo nos proporciona.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X