27 Como Editar y Actualizar Usuarios en Laravel con Validaciones CRUD edit/update Traducible
Duración: 13 minDescripción
🔍 Lección 27: Procesamiento del Método Store en Usuarios: Validación, Storage de Avatar y Persistencia JSON 🚀👥
En este vigésimo séptimo capítulo nos enfocamos por completo en la lógica del servidor para el registro de personal. Programamos el método store(Request $request) dentro del UserController, implementando un ecosistema de validación estricta para credenciales de seguridad, la captura y almacenamiento físico del archivo de imagen para el avatar en el disco del servidor, y la persistencia estructurada del objeto JSON multiidioma para el campo de la biografía.
🎯 Lo realizado en este capítulo
- 👮 Estructuración de Validaciones y Reglas de Seguridad: Diseñamos el bloque de validación para el flujo de entrada de datos a través de $request->validate([...]). Definimos reglas estrictas para el ecosistema de usuarios: el nombre y correo electrónico son obligatorios (añadiendo la restricción unique:users para evitar duplicados), el rol debe coincidir con los registros del sistema, la contraseña requiere una longitud mínima y la directiva confirmed para emparejarse con el input de verificación, y el avatar se condiciona a formatos de imagen válidos (jpeg, png, jpg) con un peso máximo controlado.
- 📸 Procesamiento y Almacenamiento Físico del Avatar: Implementamos la captura del archivo binario subido desde el formulario mediante la condicional if ($request->hasFile('avatar')). Generamos un nombre único y seguro utilizando marcas de tiempo para evitar colisiones de archivos y cargamos el elemento en el disco local usando la fachada de almacenamiento mediante $request->file('avatar')->storeAs('public/avatars', $fileName);, guardando la ruta relativa para su posterior renderizado.
- 🌐 Construcción y Persistencia del Objeto JSON Multiidioma: Para el campo de texto extenso biography, aplicamos el paquete de Spatie Translatable integrado en nuestro modelo de Eloquent. En lugar de procesar inserciones manuales complejas, recuperamos los campos independientes del formulario (biography_es, biography_en, biography_pt) y utilizamos el método $user->setTranslation('biography', 'idioma', $valor); para armar y persistir la estructura JSON correspondiente de forma automatizada.
- 🔑 Encriptación de Contraseñas y Registro en la Base de Datos: Aseguramos la integridad del sistema procesando la contraseña del usuario mediante la función de hash nativa de Laravel Hash::make($request->password); antes de asignarla al modelo. Tras mapear todos los campos del perfil, ejecutamos la directiva $user->save(); para persistir la fila en la base de datos de MySQL.
- 🔔 Despliegue de Sesión Flash con Alertas Traducidas: Concluimos la operación en el controlador redirigiendo al cliente hacia el listado principal mediante un retorno flash. Enviamos la llave idiomática correspondiente (swal_user_created) para que el script maestro de SweetAlert2 en el frontend renderice el mensaje de éxito en español, inglés o portugués dependiendo del idioma seleccionado en el panel.
🗄️ Próximo paso
Con el proceso de registro, validación, almacenamiento de imágenes y persistencia JSON del nuevo usuario completado al 100% en el backend, el flujo de inserción está cerrado. En la próxima lección (Capítulo 28), abordaremos el diseño de la Vista Show de Usuarios, donde estructuraremos el perfil público del personal para desplegar su avatar de forma dinámica, sus datos informativos y su biografía multilingüe utilizando paneles interactivos por pestañas en caliente. ¡Nos vemos en el próximo video! 🐾