hibernate validation 사용시 message 매핑이 되지 않습니다.
- 작성자 :
- ㅇ*
- 작성일 :
- 2020-07-24 13:50:30
- 조회수 :
- 2,804
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jsr303
을 참고하여 진행했습니다.
기본 환경은 3.9버전 및 템플릿 프로젝트의 simple Homepage를 사용했습니다.
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
을 등록해줬고, 컨트롤러에서 예제의 내용대로 받아 사용했습니다.
VO객체에 다음과 같이 선언했습니다.
@NotEmpty(message="{errors.required}")
private String name;
LocalValidatorFactoryBean 의 기본설정이 등록된 messageSource 객체를 주입하는 것으로 알고 있습니다.
템플릿 프로젝트의 기본 설정이 properties를 읽어오도록 되어 있고, 따로 불러와 code를 매칭시키면 제대로 출력되는 것을 확인했습니다.
따라서 message-common.properties의 메세지를 읽어올 것을 기대했지만, {errors.required} 만 출력되고 매핑이 되지 않았습니다.
Validator는
org.springframework.validation.Validator 와
javax.validation.Validator 둘 다 제대로 매핑이 되지 않았습니다.
전자정부프레임워크 이외의 환경에서는 잘 작동하는데, 따로 설정해줘야하는 것이 있는지 확인부탁드립니다.
을 참고하여 진행했습니다.
기본 환경은 3.9버전 및 템플릿 프로젝트의 simple Homepage를 사용했습니다.
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
을 등록해줬고, 컨트롤러에서 예제의 내용대로 받아 사용했습니다.
VO객체에 다음과 같이 선언했습니다.
@NotEmpty(message="{errors.required}")
private String name;
LocalValidatorFactoryBean 의 기본설정이 등록된 messageSource 객체를 주입하는 것으로 알고 있습니다.
템플릿 프로젝트의 기본 설정이 properties를 읽어오도록 되어 있고, 따로 불러와 code를 매칭시키면 제대로 출력되는 것을 확인했습니다.
따라서 message-common.properties의 메세지를 읽어올 것을 기대했지만, {errors.required} 만 출력되고 매핑이 되지 않았습니다.
Validator는
org.springframework.validation.Validator 와
javax.validation.Validator 둘 다 제대로 매핑이 되지 않았습니다.
전자정부프레임워크 이외의 환경에서는 잘 작동하는데, 따로 설정해줘야하는 것이 있는지 확인부탁드립니다.
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용을 살펴보면
구현 또는 설정에 문제는 없어 보입니다.
다만
LocalValidatorFactoryBean 설정시에
메시지 소스를 지정하셔야 할듯 합니다.
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
===>>>
<bean id="springValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource"/>
</bean>
다시한번 확인 바랍니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용을 살펴보면
구현 또는 설정에 문제는 없어 보입니다.
다만
LocalValidatorFactoryBean 설정시에
메시지 소스를 지정하셔야 할듯 합니다.
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
===>>>
<bean id="springValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource"/>
</bean>
다시한번 확인 바랍니다.
감사합니다.