Kom igångKom igång gratis

Visa valideringsmeddelanden

Du har ställt in annotationer som kvalitetskontroll för data om videospelsförsäljning. Testa nu att köra valideringen på felaktig data för att se vilka meddelanden som skrivs ut. Den felaktiga datan saknar platform, har ett year före 1960 och har negativa sales – vilket bryter mot de begränsningar som angetts i annotationerna. Validera videospelsförsäljningen och skriv ut eventuella överträdelsers meddelanden.

jakarta-paketen har redan importerats åt dig.

Den här övningen är en del av kursen

Datarensning i Java

Visa kurs

Övningsinstruktioner

  • Skriv ut överträdelsens meddelande när datan bryter mot en begränsning.
  • Validera videospelsförsäljningen genom att använda validator.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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);
    }
}
Redigera och kör kod