Implementación de formularios de creación con validación en Laravel
Clase 20 de 25 • Curso de Laravel
Resumen
¿Cómo configurar la ruta y el controlador para crear preguntas?
Para comenzar, debes establecer dos rutas esenciales en tu aplicación:
1. Una ruta que muestre el formulario de creación de preguntas. Esta es la que carga la vista donde el usuario podrá escribir su pregunta.
2. Una segunda ruta que procese y almacene la información que el usuario haya ingresado.
Estas rutas se definen en el archivo donde configuras las rutas web de tu aplicación. Se asocian a un controlador que se encarga de la lógica de negocio, como recuperar las categorías disponibles y guardar la nueva pregunta.
En el controlador, necesitarás un método que:
• Recupere las categorías desde la base de datos para que el usuario pueda elegir una.
• Devuelva una vista con un formulario de creación de preguntas.
Y otro método que:
• Valide los datos enviados.
• Guarde la pregunta en la base de datos.
• Redirija a la vista correspondiente para mostrar la nueva pregunta.
⸻
¿Qué técnica usar para reutilizar formularios en Laravel?
Una práctica recomendada en Laravel es dividir el formulario en una vista parcial, especialmente cuando se reutiliza en diferentes contextos como crear y editar. Para lograr esto:
• Crea un archivo específico para contener solo los campos del formulario.
• Luego inclúyelo desde la vista principal del formulario, tanto para crear como para editar preguntas.
Este enfoque facilita el mantenimiento, ya que cualquier cambio en los campos se realiza en un solo lugar y se refleja en todas las vistas donde se reutiliza.
⸻
¿Cómo validar correctamente y recordar los datos ingresados por el usuario?
Al procesar el envío del formulario, es vital establecer reglas de validación claras, como:
• Verificar que la categoría seleccionada exista.
• Limitar la longitud del título.
• Exigir una descripción obligatoria.
Cuando hay errores en la validación, Laravel permite devolver al usuario al formulario, mostrando los mensajes de error y conservando los datos que ya había escrito. Esto se logra mostrando en cada campo el valor previamente ingresado por el usuario. También, en los menús desplegables, es posible marcar automáticamente la opción que el usuario había elegido antes del error.
⸻
¿Qué datos registrar en el modelo de Pregunta?
Para que Laravel permita guardar registros de forma segura, debes declarar qué atributos se pueden asignar masivamente. Esto se hace dentro del modelo correspondiente a las preguntas. Allí, indicas explícitamente qué campos pueden llenarse desde formularios, protegiendo tu aplicación de intentos de manipulación maliciosa.