2017-02-04 11 views
2

Ich habe meine Spring Boot 1.5.1 Anwendung mit JSR 303 Validierung konfiguriert. Gerade jetzt bekomme ich ConstraintViolationException im Falle von falschen Daten.JSR 303 ConstraintViolationException und detaillierte Nachricht

Ist es möglich, mit ConstraintViolationException eine detaillierte Meldung (jetzt ist es Null) darüber, was falsch (zum Beispiel, welche Feld oder Methode Parameter verletzt Einschränkungen) erhalten?

Antwort

3

Nun, Ihre ConstraintViolationException hat eine Reihe von ConstraintViolation Objekte. Jeder von ihnen hat die Details, die Sie wollen.

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); 
} 

Damit würde ich eine Nachricht bekommen wie z.B. „OrderLine.quantity muss größer sein als 0“

Verwandte Themen