17 Mostrar Errores de Validaciones y OLD en los formularios con LARAVEL(PHP y MySql) FullStack

Duración: 9 min
Módulo: 👤 CRUD de Usuarios y UX Avanzada Lección 9 de 17

Descripción

📝 Lección 17: Mostrar Errores y Mantener Datos en Formularios (Validación Amigable)

Título del Video: 17 Mostrar Errores de Validaciones y OLD en los formularios con LARAVEL(PHP y MySql)FullStack

Esta lección se centra en refinar la experiencia del usuario en el formulario de registro. El objetivo es que, ante un fallo de validación, el sistema muestre al usuario exactamente qué salió mal y, además, mantenga los datos que ya había ingresado para que no tenga que rellenar todo el formulario de nuevo.

🔴 Indicación Visual de Errores (@error)

Se implementa el sistema de feedback visual para las validaciones del backend, asegurando que los usuarios entiendan por qué su registro fue rechazado.

  • Problema: Anteriormente, una validación fallida simplemente redirigía al formulario, sin indicar al usuario qué campo había fallado (ej. si el correo ya estaba registrado) [00:47].
  • Solución con Blade: Para mostrar mensajes de error debajo de cada campo, se utiliza la directiva @error('nombre_del_campo') de Laravel [02:20].
  • Despliegue del Mensaje: Dentro de esta directiva, se utiliza una etiqueta <small> con color rojo (color: red) para imprimir la variable especial $message, que contiene el error específico de la validación (ej. "The email has already been taken" o "La Confirmación del campo de contraseña no coincide") [02:37].
  • Campos Cubiertos: Esta lógica se aplica a los campos nombre (name), correo electrónico (email) y contraseña (password) para informar sobre errores como datos requeridos, unicidad del correo o falta de coincidencia de contraseñas [03:08].

💾 Mantener Datos Previos (old())

Para mejorar la usabilidad, se utiliza la función old() de Laravel para precargar los campos con la información que el usuario introdujo antes de que ocurriera el error.

  • Problema: Tras un error de validación, el formulario se limpiaba, obligando al usuario a reescribir todos los campos, lo que resulta en una mala experiencia [05:59].
  • Función old(): La solución es inyectar en el atributo value de los inputs la función old('nombre_del_campo') [06:32]. Esta función se encarga de recuperar el valor que se envió en la solicitud anterior.
  • Resultado: Campos como nombre y correo electrónico mantienen los datos originales si la validación falla, evitando que el usuario los pierda [07:53].
  • Nota de Seguridad: Se menciona que, por seguridad, los campos de contraseña son la excepción y deben ser reingresados en caso de un error [07:42].