CommencezCommencez gratuitement

Afficher les messages de validation

Vous avez mis en place des annotations comme contrôle de qualité sur les données de ventes de jeux vidéo. Exécutez maintenant la validation sur des données contenant des erreurs pour voir quels messages s'affichent. Les mauvaises données n'ont pas de platform, ont une year antérieure à 1960 et des sales négatives, ce qui enfreint les contraintes précisées dans les annotations. Validez les données de ventes de jeux vidéo et affichez tous les messages de non-respect.

Les modules jakarta ont été importés pour vous.

Cette activité fait partie du cours

Nettoyer des données en Java

Voir le cours

Instructions de l’exercice

  • Affichez le message de non-respect lorsqu'une contrainte est enfreinte par les données.
  • Validez la vente de jeu vidéo en appliquant le validator.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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);
    }
}
Modifier et exécuter le code