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

Veces