Laravel 5.5: Validaciones personalizadas con Objetos Rule

validaciones personalizadas

Las reglas de validación personalizadas (o customizadas) de Laravel 5.5 son un recurso muy útil, y son especialmente relevantes si queremos definir ciertas condiciones para un atributo y reusarlas en otros lugares de nuestra aplicación.

Primero que todo, si quieres especificar tus propias validaciones, puedes usar el siguiente comando para generar un objeto que extiende el contrato Rule:

Como resultado, se creará un directorio llamado Rules y el archivo creado dentro de este, se usa para definir las reglas y el mensaje que se debe devolver al usuario en caso de que la validación falle. En consecuencia, en App\Rules tendríamos una clase con el método passes(), donde definimos las condiciones para que la validación sea exitosa , y el método message(), donde se define el mensaje.

De esta forma, supongamos que queremos validar que un campo en particular tenga exactamente cinco caracteres, lo primero que haríamos sería crear la regla con:

Así, en nuestro ejemplo, la clase generada quedaría como sigue:

De esta forma y si estamos realizando la validación en el controlador, usaríamos la regla como en el siguiente ejemplo:

En conclusión, podemos usar reglas de validación personalizadas en Laravel 5.5 y reusarlas en otro controlador o similarmente, en un Form Request.   También puedes ver la documentación oficial sobre Using Rule Objects y leer el artículo Reglas de Validación personalizadas en este blog.

Comparte este artículo

Entra en la discusión y deja tu comentario

  • Miguel Rivera Ospina

    Interesante en verdad! usaste Laravel Voyager como lo aplicaría en ese caso

    • Johan Marchan

      He visto Voyager y me parece super interesante, pero no lo he usado nunca, así que no podría decirte con certeza

    • alejandro alfonso garcia gonza

      Tambien seria muy interesante una seria sobre laravel voyager

  • alejandro alfonso garcia gonza

    Seria bueno unos tutoriales o una series como hacer una aplicacion multilenguaje los mejores paquetes para utilizar y ejemplos como aplicarlos seria muy interesante y muy buenos ya que en internet hay muy poco material en español sobre este tema y seria una gran ayuda para todo los desarrolladores que visitan y siguen esta pagina

    • Johan Marchan

      Hola Alejandro, gracias por la sugerencia, la vamos a tener en cuenta, ya estamos preparando varios temas interesantes así que no dejes de venir al blog. Sobre el tema de las traducciones en particular, puedes ver el artículo de Sebastian Cortes para tener una guía https://laraveles.com/laravel-5-4-localizacion-mediante-archivos-json/

      Saludos

Veces