Doğrulama mesajlarını görüntüleme
Video oyunu satış verilerinde kalite kontrol için ek açıklamaları (annotations) ayarladın. Şimdi hatalı veriler üzerinde doğrulamayı çalıştırarak hangi mesajların yazdırıldığını gör. Hatalı veride platform eksik, year 1960'tan önce ve sales negatif; bu da ek açıklamalarda belirtilen kısıtları ihlal ediyor. Video oyunu satış verisini doğrula ve varsa ihlal mesajlarını yazdır.
jakarta paketleri senin için içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Java'da Veri Temizleme
Egzersiz talimatları
- Veri bir kısıtı ihlal ettiğinde ihlal mesajını yazdır.
validatoruygulayarak video oyunu satışını doğrula.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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);
}
}