2017-02-04 12 views
2

JSR 303で私のSpring Boot 1.5.1アプリケーションを設定しました。今私は間違ったデータの場合ConstraintViolationExceptionを得ています。JSR 303 ConstraintViolationExceptionと詳細なメッセージ

ConstraintViolationExceptionで何が間違っていたか(たとえば、どのフィールドまたはメソッドパラメータが制約に違反しているか)に関する詳細メッセージ(現在はnullです)を取得できますか?

答えて

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より大きくなければなりません」
関連する問題