예를 들어, 다음과 같은 주석이 달린 도메인 모델을 테스트하고있는 테스트 클래스가 있습니다. 내 테스트 클래스에서 @NotNullHibernate Validator : 위반 메시지 언어
은 내가 먼저
Set<ConstraintViolation<Person>> violations = validator.validate(aPerson);
이 있습니다 (사람을 말할 수) 내가 도메인 모델을 테스트하고 JUnit 테스트를
private static Validator validator;
@BeforeClass
public static void setup() {
validator = Validation.buildDefaultValidatorFactory().getValidator();
}
나중에 검증을 얻고있다 첫 번째 위반 내용을 검색하고 싶습니다.
String violationMessage = violations.iterator().next().getMessage()
나는 사용자 지정 violati를 설정하지 않았습니다. @NotNull 어노테이션에있는 on 메시지. 따라서 hibernate validator는 hibernate-validator-jar에있는 Resource Bundle에서 기본 메시지를 가져올 것이다. 내 경로는 다음과 같습니다
hibernate-validator-5.3.5.Final.jar
- org
- hibernate
- validator
...
ResourceBundle 'Validation Messages'
을이 자원 번들에서 (영어, 독일어, 프랑스어, ...) 지원 꽤 많은 언어
예
@NotNull 위반 메시지가 영어
독일javax.validation.constraints.NotNull.message = darf nicht null sein
@NotNull 위반 메시지3210
javax.validation.constraints.NotNull.message = may not be null
질문 :
내가 테스트입니다 때, 어떻게 최대 절전 모드 검사기는 자원 번들에서 위반 메시지에 대한 특정 언어를 선택 적용 할 수 있습니다? 지금은 영어 위반 메시지가 표시됩니다. 그러나, 다른 기계 독일어. 참조 문서에서 응축
감사합니다 : 당신은 메이븐과 확실한 플러그인을 사용하는 경우, 당신이 그런 식으로 뭔가를 할 필요가 – Dachstein