82 Registrar Abonos en la Base de Datos: Lógica del Controlador y Validaciones en Laravel 12 💾🛠️
Duración: 15 minDescripción
💾 Lección 82: Registro de Abonos en la Base de Datos
En esta sesión de Benji V2, conectamos la interfaz de usuario con el servidor para procesar y almacenar de forma segura los pagos parciales. Implementamos la lógica del controlador, validaciones estrictas y la retroalimentación visual tras el registro.
🎨 Formulario Dinámico en Flux UI
Perfeccionamos el modal de captura de datos para asegurar que la información sea precisa:
- 📝 Campos de Entrada: Creamos inputs para el monto_pagado (abono actual), fecha_pago y un textarea para el detalle u observaciones del pago [06:43].
- 🔒 Datos de Referencia: El pago_id y el monto_total_cuota se envían mediante inputs de tipo hidden. Esto garantiza que el abono se asocie a la cuota correcta y se guarde el monto original de la deuda como referencia histórica [08:51].
🛠️ Lógica del Controlador y Validaciones
Desarrollamos el método store en el PagoParcialController para gestionar la transacción:
- 🛡️ Validación de Datos: Implementamos reglas estrictas para prevenir errores:
- El pago_id debe existir en la tabla de pagos.
- El monto_pagado debe ser numérico y obligatorio.
- La fecha_pago debe tener un formato de fecha válido [11:54].
- 💾 Persistencia: Utilizamos el modelo PagoParcial para crear el registro en la base de datos con los datos validados del request [12:43].
- 🔄 Redirección y Notificación: Tras el guardado, el sistema redirige al usuario a la vista anterior, mostrando una alerta de éxito mediante un mensaje de sesión y un icono de "success" [13:04].
✅ Resultado de la Lección
Hemos completado el flujo de escritura. Ahora, cuando un cliente no puede cubrir el total de su cuota, el cajero puede registrar un abono parcial (ej. 50 bolivianos de una cuota de 87). El sistema ya almacena estos registros, sentando las bases para el siguiente paso: la visualización histórica de abonos.
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! ❤️