36 VALIDATION de FORMULARIO WEB desde el BACKEND (LARAVELyMYSQL)FULLSTACK
Duración: 8 minDescripción
🔒 Lección 36: Validación de Formularios Web desde el Backend con Laravel
Esta lección avanzada es crucial ya que aborda el problema de la seguridad de los datos mediante la implementación de la validación en el lado del servidor (Backend), utilizando el framework Laravel para garantizar que los campos obligatorios del formulario se llenen correctamente, independientemente de la manipulación del frontend.
1. 🛡️ Justificación de la Validación en el Backend [00:20]
- Inseguridad del Frontend: Se reitera que la validación solo con el atributo required de HTML en el frontend es vulnerable [00:30]. Un usuario malicioso puede eliminar este atributo del código fuente y enviar datos vacíos a la base de datos [00:49].
- Rol del Backend: La validación de Laravel en el backend es la única forma de asegurar que los datos cumplan con las reglas requeridas antes de ser almacenados, ya que el código PHP es inaccesible al usuario final [06:22].
2. 📝 Implementación del Método validate() en el Controlador [01:11]
Se utiliza el método validate() provisto por Laravel en el PeliculasController (dentro de la función store()) para definir las reglas de validación antes de intentar guardar el registro.
Sintaxis: Se llama al método validate() sobre el objeto $request [01:52].
PHP
$request->validate([ 'titulo_p' => 'required', // ... otras reglas de validación ]);
- Regla required: Se pasa un array donde la clave es el name del campo del formulario (ej. titulo_p) y el valor es la regla de validación, en este caso, 'required' [02:45].
- Comportamiento de Laravel: Si el campo titulo_p llega vacío, Laravel detiene inmediatamente la ejecución del código (save()) y automáticamente redirige al usuario de vuelta al formulario.
3. 💬 Muestra de Mensajes de Error en la Vista [04:36]
Cuando la validación falla, Laravel devuelve automáticamente los mensajes de error a la vista. Es necesario que el frontend tenga un bloque de código para capturar y mostrar estos mensajes al usuario.
- Directiva @error: En el formulario (create.blade.php), se utiliza la directiva @error de Blade, pasando el nombre del campo que falló la validación (ej. titulo_p) [05:00].
Visualización del Mensaje: Dentro del bloque @error, se imprime el $message de error y se le aplica formato (ej. texto pequeño y color rojo) para hacerlo visible [07:05].
HTML
@error('titulo_p') <small style="color: red;">{{ $message }}</small> @enderror
- Resultado: Si se intenta enviar el formulario sin llenar un campo (incluso si se ha quitado el atributo required en el frontend), la validación del backend lo detiene y muestra un mensaje de error claro (ej. "El campo título p es obligatorio") [07:44].
4. 🔜 Próximo Paso [08:05]
La siguiente lección se centrará en finalizar la validación de los demás campos del formulario y en el manejo del almacenamiento físico de la imagen de portada, que actualmente solo se registra como texto.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️