[英]Access Hibernate Validator messages
我在Spring Boot中使用Hibernate Validator。 我在一個類中有一個變量,如下所示。
Public class User {
@Pattern(regexp=".+@.+\\..+", message="Wrong email!")
private String userEmail;
}
我在控制器中使用驗證。
@PostMapping("/users")
public ResponseEntity addUser(@Valid @RequestBody User user, BindingResult result) {
if(result.hasErrors()) {
log.info("There are errors in the input");
}
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> inputErrors = validator.validate(user);
log.info("Errors: " + inputErrors.toString());
}
為什么通過工廠訪問驗證消息是否更簡單? 就像是
result.getMessage();
您可以將消息源自動連線到控制器
@Autowired
private MessageSource messageSource;
並得到消息
messageSource.getMessage(<your key from the error>, null, locale);
您已選擇語言環境以獲取正確的本地化文本。 您需要迭代錯誤以獲取所有發現的所有驗證錯誤的所有消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.