Aan de slagBegin gratis

Validatieberichten weergeven

Je hebt annotaties ingesteld als kwaliteitscontrole op gegevens over verkochte videogames. Voer nu de validatie uit op gegevens met fouten om te zien welke berichten worden geprint. In de foute gegevens ontbreekt een platform, is year vóór 1960, en zijn sales negatief, wat in strijd is met de beperkingen die in de annotaties zijn vastgelegd. Valideer de gegevens over de videogameverkoop en print alle validatieberichten.

jakarta-packages zijn al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Data opschonen in Java

Bekijk cursus

Oefeninstructies

  • Print het validatiebericht wanneer de gegevens een beperking schenden.
  • Valideer de videogameverkoop door de validator toe te passen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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);
    }
}
Code bewerken en uitvoeren