2017-02-04 14 views
2

Я настроил приложение Spring Boot 1.5.1 с подтверждением JSR 303. Прямо сейчас я получаю ConstraintViolationException в случае неправильных данных.JSR 303 ConstraintViolationException и подробное сообщение

Возможно ли получить подробное сообщение (теперь оно равно null) о том, что было не так (например, какое поле или параметр метода нарушает ограничения) с ConstraintViolationException?

ответ

3

Ну, ваш 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»