4

我已经为我的Spring Boot 1.5.1应用程序配置了JSR 303验证。现在我正在ConstraintViolationException处理错误的数据。

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

4

1 回答 1

6

好吧,你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”

于 2017-02-04T15:01:19.533 回答