java - JSR 303 ConstraintViolationException 和详细消息

标签 java spring validation bean-validation jsr

我已经为我的 Spring Boot 1.5.1 应用程序配置了 JSR 303 验证。现在,如果数据错误,我会得到 ConstraintViolationException

是否有可能通过 ConstraintViolationException 获得有关错误信息(例如,哪些字段或方法参数违反约束)的详细消息(现在为空)?

最佳答案

那么,您的 ConstraintViolationException 有一组 ConstraintViolation 对象。他们每个人都有你想要的细节。

public static <T> String getValidationMessage(ConstraintViolation<T> violation) {
    String className = violation.getRootBeanClass().getSimpleName();
    String property = violation.getPropertyPath().toString();
    //Object invalidValue = violation.getInvalidValue();
    String message = violation.getMessage();
    return String.format("%s.%s %s", className, property, message);
}

有了这个,我会收到一条消息,例如“OrderLine.quantity 必须大于 0”

关于java - JSR 303 ConstraintViolationException 和详细消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42041255/

相关文章:

java - bean的Spring Boot Autowiring 在maven多模块项目中不起作用

jQuery Validator - 如何验证非表单项?

java - 递归搜索Java中的目录

java - 哪个 Map-Reduce 库和/或平台与 java 一起使用

java - Spring数据源事务管理器不回滚

javascript - 前端还是后端匹配密码?

javascript - 验证以逗号分隔的多个美国邮政编码

java - Java 可以处理 ADO 错误吗

java - 在这种情况下,Observable 会不会因为被垃圾收集而中途停止发射?

java - Spring Portlet MVC 中的一系列重复表单