PULSOFT

Descargar los archivos Hibernate-validator 6.0.2 jar y copiarlos en la carpeta lib.

Ejercicio: Validación de Datos en un Formulario con Spring MVC

Implementa una aplicación web en Spring MVC que valide los datos de un usuario antes de enviarlos a una página de destino. La aplicación debe contar con un formulario de registro donde el usuario ingrese su nombre, correo electrónico y contraseña.

Requisitos:

Modelo de Datos (Usuario)

Crear una clase Usuario con los siguientes atributos:

  • nombre (String): No puede estar vacío ni contener solo espacios en blanco.
  • correo (String): No puede estar vacío.
  • password (String): No puede estar vacío ni contener solo espacios en blanco.

Utilizar anotaciones de validación de Javax Validation para garantizar que los campos cumplan estas reglas:

  • @NotBlank(message = "El nombre no puede quedar vacío") → Para el campo nombre.
  • @NotEmpty(message = "El correo no puede quedar sin rellenar") → Para el campo correo.
  • @NotBlank(message = "La contraseña no puede estar en blanco") → Para el campo password.

Controlador (Controlador)

Implementar un controlador en Spring MVC con dos métodos:

  • paginaInicio(): Carga la vista del formulario e inicializa un objeto Usuario.
  • paginaDestino(): Recibe los datos del formulario y los valida. Si hay errores, se vuelve a mostrar el formulario con mensajes de error; si los datos son correctos, se redirige a una página de destino.

Vistas (index.jsp y paginaDestino.jsp)

index.jsp

Formulario de entrada con los campos nombre, correo y password.

  • Utilizar la etiqueta <form:form> de Spring para el envío de datos.
  • Mostrar mensajes de error en caso de validaciones incorrectas.

paginaDestino.jsp

Muestra los datos ingresados por el usuario después de una validación exitosa.

Imagen del programa

Validación de Formulario con @NotBlank y @Email usando Hibernate Validator en Spring

Implementa una aplicación web en Spring MVC que utilice Hibernate Validator para validar los datos de un formulario antes de enviarlos a una página de destino. En este caso, se requiere que uno de los campos del formulario sea validado con las anotaciones @NotBlank y @Email, asegurando que no puedan estar vacíos o ser inválidos.

Requisitos:

Modelo de Datos (Usuario)

Crea una clase Usuario con los siguientes atributos:

  • nombre (String): El nombre del usuario, debe ser obligatorio (no puede ser vacío ni contener solo espacios en blanco). Utiliza la anotación @NotBlank de Hibernate Validator.
  • correo (String): El correo del usuario, debe ser obligatorio y seguir el formato correcto de correo electrónico. Utiliza las anotaciones @NotBlank para asegurarte de que no esté vacío y @Email para verificar que tiene un formato de correo válido.
  • edad (Integer): La edad del usuario, también debe ser obligatoria (no puede ser nula), usa la anotación @NotNull.

Controlador (UsuarioController)

Implementa un controlador en Spring MVC con dos métodos:

  • paginaInicio(): Carga la vista del formulario e inicializa un objeto Usuario.
  • paginaDestino(): Recibe los datos del formulario, los valida utilizando las anotaciones @NotBlank y @Email en los campos correspondientes. Si hay errores de validación (por ejemplo, si algún campo está vacío o no cumple con el formato requerido), se vuelve a mostrar el formulario con los mensajes de error. Si los datos son correctos, se redirige a una página de destino mostrando un mensaje de éxito.

Vistas (index.jsp y paginaDestino.jsp)

index.jsp: Crea un formulario HTML que permita al usuario ingresar su nombre, correo y edad. Asegúrate de que los campos de nombre y correo sean obligatorios y que el correo tenga un formato válido. Utiliza la etiqueta <form:form> de Spring para enviar los datos. Muestra mensajes de error si algún campo está vacío o no cumple con las validaciones requeridas.

paginaDestino.jsp: Muestra los datos del usuario ingresados después de una validación exitosa. Esta página debe mostrar un mensaje indicando que los datos fueron recibidos correctamente.

Imagen del programa

Validación de Formulario con @Size, @Min y @Max usando Hibernate Validator en Spring

Implementa una aplicación web en Spring MVC que utilice Hibernate Validator para validar los datos de un formulario antes de enviarlos a una página de destino. En este caso, se requiere que algunos campos sean validados con las anotaciones @Size, @Min y @Max, asegurando que cumplan con las restricciones especificadas.

Requisitos:

Modelo de Datos (Producto)

Crea una clase Producto con los siguientes atributos:

  • nombre (String): El nombre del producto, debe tener entre 3 y 50 caracteres. Utiliza la anotación @Size(min = 3, max = 50) de Hibernate Validator.
  • descripcion (String): La descripción del producto debe tener entre 10 y 200 caracteres. Usa la anotación @Size(min = 10, max = 200).
  • precio (double): El precio del producto, debe tener un valor mínimo de 1 y no puede superar los 10000. Usa las anotaciones @Min(1) y @Max(10000) para la validación.

Controlador (ProductoController)

Implementa un controlador en Spring MVC con dos métodos:

  • paginaInicio(): Carga la vista del formulario e inicializa un objeto Producto.
  • paginaDestino(): Recibe los datos del formulario y los valida utilizando las anotaciones @Size, @Min y @Max. Si hay errores de validación, se vuelve a mostrar el formulario con los mensajes de error. Si los datos son correctos, se redirige a una página de destino mostrando un mensaje de éxito con la información ingresada.

Vistas (index.jsp y paginaDestino.jsp)

index.jsp:

Crea un formulario HTML que permita al usuario ingresar un producto con los siguientes campos: nombre, descripción y precio. Asegúrate de que los campos sean validados en el servidor. Usa <form:form> de Spring para enviar los datos y muestra los mensajes de error si algún campo es inválido.

paginaDestino.jsp:

Muestra los datos del producto ingresado después de una validación exitosa. También muestra un mensaje indicando que la validación fue realizada correctamente.

Imagen del programa

Formulario de Registro de Usuarios con Validaciones en Spring

Desarrolla una aplicación web en Spring que permita a los usuarios registrarse llenando un formulario con diferentes campos. Cada campo debe estar validado con las anotaciones de javax.validation para garantizar que los datos ingresados sean correctos.

Estructura del proyecto

  • Clase Usuario.java: Representa al usuario y contiene validaciones para cada campo.
  • Controlador UsuarioController.java: Maneja las solicitudes del formulario.
  • Página index.jsp: Contiene el formulario y muestra mensajes de error si es necesario.

Requisitos del formulario

  • ✅ Nombre de usuario
    • No puede estar vacío. (@NotBlank)
    • Debe tener entre 3 y 20 caracteres. (@Size(min=3, max=20))
    • Solo puede contener letras y números. (@Pattern(regexp="^[a-zA-Z0-9]+$"))
  • ✅ Correo electrónico
    • No puede estar vacío. (@NotBlank)
    • Debe ser un email válido. (@Email)
  • ✅ Contraseña
    • No puede estar vacía. (@NotBlank)
    • Debe tener entre 6 y 20 caracteres. (@Size(min=6, max=20))
    • Debe contener al menos una mayúscula y un número. (@Pattern(regexp = "^(?=.*[A-Z])(?=.*[0-9]).{6,}$"))
  • ✅ Edad
    • Mínimo 18 años, máximo 99. (@Min(18), @Max(99))
    • No puede ser null. (@NotNull)
  • Saldo
    • No puede ser negativo. (@Positive)
  • ✅ Fecha de nacimiento
    • Debe estar en el pasado o presente. (@PastOrPresent)
    • No puede ser null. (@NotNull)
    • Se almacenará como LocalDate con el formato dd-MM-yyyy.
  • ✅ Aceptación de términos y condiciones
    • Debe ser aceptado obligatoriamente. (@AssertTrue)

Consideraciones técnicas

  • La fecha de nacimiento debe ingresarse en el formato dd-MM-yyyy en el formulario, por lo que el input en HTML debe ser compatible con esto.
  • El formulario debe validar los datos antes de enviarlos y mostrar mensajes de error si hay validaciones incorrectas.
  • Los mensajes de error deben mostrarse al usuario en index.jsp si hay validaciones incorrectas.
Imagen del programa