Afișarea mesajelor de validare
Ai configurat adnotări ca mecanism de control al calității pentru datele despre vânzările de jocuri video. Acum încearcă să rulezi validarea pe date cu erori pentru a vedea ce mesaje sunt afișate. Datele incorecte nu au o valoare pentru platform, au year înainte de 1960 și au sales negative, ceea ce încalcă constrângerile specificate în adnotări. Validează datele despre vânzarea jocului video și afișează orice mesaje de eroare.
Pachetele jakarta au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Curățarea datelor în Java
Instrucțiuni pentru exercițiu
- Afișează mesajul de eroare atunci când datele încalcă o constrângere.
- Validează înregistrarea de vânzare a jocului video aplicând
validator-ul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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);
}
}