La mejor forma de manejar las Validaciones en Laravel: Form Request ⚔

¿Qué son, cómo y por que utilizar los Form Request?

Deja un comentario

Comment as a guest.

  1. Podrías decirme cómo hacer un Form Request para la actualización de un recurso que tenga un email como índice único en sus propiedades, ya he tenido muchos inconvenientes con ese detalle

    1. Hola Henry, discúlpame por la demora en responder, pero estuve de vacaciones totalmente desconectado. Según entiendo, quieres hacer un Form Request para un formulario que actualiza datos no? Si es así, deberias tener las reglas algo así:


      return [
      'user.name.first' => 'required',
      'user.name.last' => 'required',
      'user.email' => 'required|email|unique:users,email,'.$user->id,
      ];

      Mira como definí la regla para el email, para que así no de error por «emial único» cuando es el mismo usuario el que esta queriendo actualizar sus propios datos.

      Espero que te sirva.
      Saludos.

  2. Hola quiero usar form request en mi api, tengo el método store, ya cree mi form request y si valida, pero al fallar quiere regresar un redirect, y yo solo quiero que me regrese los errores para devolverlos en el response de mi API.

  3. Excelente me pareció el Artículo, El caso o la duda es el siguiente: mi código proviene de una ruta llamada ‘users.create’ la cual retorna a una vista ‘users.create.php’, el cual es un formulario que captura los datos. Por defecto Laravel redirecciona a esta vista y no se me muestra nada en el navegador. tuve que redireccionar según lo que aprendí en tu buen artículo a otra ruta ‘users.index’, que no es la que yo quiero, pero ni modo, funciona pero, seguiré leyendo a ver como soluciono.

  4. Amigos actualmente estoy montando un Validador con request, que lee en una tabla los privilegios de los usuarios para dejarlos acceder a los recursos de la administración, más temprano que tarde se los comparto para que les saquen el debido provecho.

  5. Me ha ayudado mucho este tutorial. Muchas gracias.
    Solo que me ha surgido una duda, ¿Se le puede pasar un parámetro al form request? Lo que pretendo es hacer un form request y una regla de validación para impedir que use la misma contraseña que uso con anterioridad a la hora de una actualización de la misma.

    1. Hola Uriel, como estas? Tene en cuenta que en el FormRequest tendrías acceso al usuario logueado (con auth()->user()). De esta forma podrías obtener sus contraseñas antiguas.
      Por otro lado, también tienes acceso a los datos que se esta validando. Para acceder a ellos tenes que usar $this->nombre-del-campo.

      Espero que te sirva mi respuesta, si no volve a comentar con mas detalles. Saludos bro.

      1. Estoy de maravilla, gracias por preguntar, ¿Tú, cómo estás?
        ¡Excelente! Me funciono tu respuesta, gracias por ver algo que «era obvio» y no lo vi 😅
        Solo una duda, ¿Si es la mejor practica hacerlo de esa manera? Lo digo mas que nada por los principios SOLID. Saludos 😀

        1. Muy bien, gracias.
          Si, para respetar los principios SOLID te recomendaria crear la regla utilizando las clases Rules y utilizar esta en tu FormRequest.
          De esta forma estarás respetando el principio de Open/Close (O de SOLID) y Single Responsibility (S de SOLID).
          Saludos!

Próximo articulo

Sliding Sidebar

Matias Echazarreta

¡Hola!

Mi nombre es Matias Echazarreta.
Soy desarrollador web con más de 12 años de experiencia. Amante de Laravel, de los libros y del rock de los ’90. Te puedes comunicar conmigo  por trabajos de contratación, haciendo click aquí.

Nuestro Patreon

Desde Patreon puedes solicitar asesoria personalizado. ¡Ir a Patreon!

Suscríbete a nuestra lista de correo