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
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);
}
}