我正在使用Spring Boot。
我正在撰寫一個Java類,我想使用注解來進行驗證。 像這樣:
@Getter @Setter
@Validated @Validated
public class User {
@NotBlank( message = "Username cannot be empty")
private String username;
@NotBlank(message = "Email address can not be empty")
@Email( message = "Please provide valid email address")
private String email;
@NotBlank(message = "First Name cannot be empty")
private String firstName;
@NotBlank(message = "Last Name can not be empty")
private String lastName;
}
如果我試圖用錯誤的引數創建一個新的物件,我希望能引發一個例外。 如果我試圖使用一個帶有錯誤引數的setter,也會有同樣的結果。
這可能嗎?我的代碼是錯的嗎?
uj5u.com熱心網友回復:
你可以自己呼叫驗證器
class SomeComponent{
private Validator validator;
SomeComponent(Validator validator){
this.validator = validator;
}
void validateInput(Input input) {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory()。
Set<ConstraintViolation<Input>> violations = validator.validate(input)。
if (!viations.isEmpty()) {
throw new ConstraintViolationException(viences)。
}
}
你可以在Post Constructor方法和setters中觸發
。uj5u.com熱心網友回復:
你可以使用Hibernate驗證器進行注解驗證 https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#validator-gettingstarted-createmodel
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328672.html
標籤:
