20. Qué son los Form Request

Los Form Request son clases en Laravel que permiten centralizar la validación de los datos de los formularios en una sola ubicación y mejorar la reutilización del código. En lugar de validar los datos del formulario directamente en el controlador, puedes crear una clase Form Request que encapsule las reglas de validación y la lógica de validación. Los Form Request en Laravel son una forma conveniente de validar los datos del formulario antes de que lleguen al controlador, lo que ayuda a mantener el código organizado y limpio. En el decimoséptimo capítulo del curso "Laravel desde cero", aprenderás a utilizar los Form Request en Laravel para validar los datos del formulario y cómo personalizar los mensajes de error y las reglas de validación en función de las necesidades de tu aplicación. Con estos conocimientos, podrás mejorar la calidad del código de tus aplicaciones Laravel y mantener la validación de los datos del formulario de manera centralizada.


1 comentarios

Inicia sesión para comentar

Comentarios:

  • Walter

    Walter hace 8 meses

    📌 Form Request

          Lo creamos con 

    php artisan make:request StoreCurso

          Se guarda en la carpeta App\Http\Requests

     

          La clase StoreCurso tiene dos métodos: authorize() y rules().

     

          En authorize debe contener la lógica necesaria para verificar si el usuario que esta intentando ingresar datos a nuestra BD tiene los permisos necesarios para hacerlo.

     

          En rules movemos las reglas de validaciones que colocamos en el método store del controlador CursoController

          Agregamos en el controlador: 

    use App\Http\Request\StoreCurso;

          Y en su método store cambiamos el tipo Request por StoreCurso:

    public function store(StoreCurso $request) { …

          De esta forma $request recibe todos los datos del formulario y también hace las validaciones.

     

          Para traducir/cambiar los mensajes de validación, creamos el método attributes() en el form request:

    public function attributes() {
    	return [
    		'name' => 'nombre del curso',
    	];
    }

          Para generar un mensaje más personalizado agregamos también el método messages() indicando el elemento y la validación:

    public function attributes() {
    	return [
    		'description.require' => 'Debe ingresar una descripción del curso',
    	];
    }