EmpezarEmpieza gratis

Mostrar mensajes de validación

Has configurado anotaciones como control de calidad en los datos de ventas de videojuegos. Ahora ejecuta la validación con datos con errores para ver qué mensajes se imprimen. Los datos incorrectos no tienen platform, tienen year anterior a 1960 y tienen sales negativas, lo que incumple las restricciones indicadas en las anotaciones. Valida los datos de ventas de videojuegos e imprime cualquier mensaje de infracción.

Los paquetes jakarta ya se han importado por ti.

Este ejercicio forma parte del curso

Limpieza de datos en Java

Ver curso

Instrucciones del ejercicio

  • Imprime el mensaje de infracción cuando los datos incumplan una restricción.
  • Valida la venta de videojuegos usando el validator.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

public class VideoGameSale {
    @NotNull(message = "Name cannot be empty")
    private String name;
    @NotNull(message = "Platform cannot be empty")
    private String platform;
    @Min(value = 1960, message = "Year must be greater than 1960")
    private Integer year;
    @Min(value = 0, message = "Sales amount must be positive")
    private Double sales;

    public VideoGameSale(String name, String platform, Integer year, Double sales) {
        this.name = name;
        this.platform = platform;
        this.year = year;
        this.sales = sales;
    }

    public static void main(String[] args) {
        VideoGameSale sale = new VideoGameSale(
                "Super Mario Bros.", null, 1950,
                -29.08);
        Set> violations =
                SalesValidator.validateSale(sale);
        // Print the violation message
        violations.forEach(violation ->
                System.out.println(____.____()));
        if (!violations.isEmpty()) throw new ConstraintViolationException(violations);
    }
}

class SalesValidator {
    private static final ValidatorFactory factory =
          Validation.buildDefaultValidatorFactory();
    private static final Validator validator = factory.getValidator();
    public static Set> validateSale(VideoGameSale sale) {
        // Validate the video game sale
        return ____.____(sale);
    }
}
Editar y ejecutar código