[英]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.