38 VALIDATION OLD retorna el valor del FORMULARIO WEB desde el BACKEND (LARAVELyMYSQL)FULLSTACK

Duración: 7 min
Módulo: 🔒 Módulo de Validación y Seguridad Lección 4 de 4

Descripción

💾  Lección 38: Validación OLD() para Mantener Valores en el Formulario

Esta lección avanzada resuelve un problema de experiencia de usuario (UX) relacionado con la validación de backend: la pérdida de datos del formulario cuando la validación falla. El instructor introduce la función old() de Laravel para mantener los valores introducidos por el usuario.

1. 🗑️ El Problema de la Pérdida de Datos [00:25]

  • Comportamiento por Defecto: Cuando un usuario llena un formulario extenso y la validación de backend falla (ej., un campo obligatorio está vacío), Laravel redirige automáticamente al usuario de vuelta al formulario.
  • El Inconveniente: En este retorno, todos los campos llenos se borran, obligando al usuario a ingresar de nuevo toda la información [01:10]. Esto es frustrante y afecta negativamente la UX.

2. 📝 Solución: Implementación de la Función old() de Blade [01:18]

Laravel ofrece la función helper old() para recuperar los datos que fueron enviados en la solicitud anterior (que falló la validación).

  • Uso en Inputs (<input>): Se utiliza la función old() dentro del atributo value del campo. Se le pasa el name del campo como argumento [01:53].

    HTML

    <input type="text" name="titulo_p" value="{{ old('titulo_p') }}">

  • Mapeo Masivo: Esta sintaxis se aplica a todos los campos del formulario (titulo_p, categoria_p, trailer_p, duracion_p, link_1p, etc.) [04:11].
  • Demostración: Se prueba el formulario: al fallar la validación de un campo, la información previamente ingresada en los otros campos se mantiene, evitando la reintroducción de datos [06:20].

3. 📄 Uso de old() en Textareas [04:49]

Los campos de área de texto (<textarea>) requieren un enfoque ligeramente diferente:

  • Sintaxis en Textareas: En lugar de usar el atributo value, la función old() se coloca dentro de las etiquetas de apertura y cierre del textarea [05:07].

    HTML

    <textarea name="descripcion_p">{{ old('descripcion_p') }}</textarea>

4. 🚀 Próximo Paso [07:09]

El instructor recuerda que a pesar de que la validación y el manejo de errores ya están funcionales, los mensajes de error siguen apareciendo en inglés. La próxima lección se enfocará en configurar la traducción de los mensajes de error a español.