2012-04-27 1 views
3

제 질문은 기본적으로 Custom validation message for bean validation과 같습니다. 그러나 문제를 해결할 수 없습니다.JSR 303 bean validation에 대한 번역 된 사용자 정의 오류 메시지는 어떻게 제공됩니까?

빈 클래스 :

public class PersonalInfoBean { 
    @Size(min=5, max=55, message="{invalid_name}") 
    String name; 
    ... 
} 

나는 이클립스 프로젝트의 src 폴더에 패키지에 Messages.properties를 만들었습니다.

invalid_name=Please enter a valid name 

나는 얼굴-config.xml 파일에서 파일을 등록 :

facelet 파일이
<application> 
    <message-bundle>com.webage.survey.Messages</message-bundle> 
</application> 

: 나는 양식을 제출하면

<h:inputText value="#{personalInfo.name}" id="name"/> <h:message for="name" style="color: red" /><br/> 

, 나는 단지 {invalid_name}을 참조로 "유효한 이름을 입력하십시오"라는 오류 메시지가 표시되지 않습니다.

동일한 결과로 JBoss 6 및 WebSphere 8에서이를 테스트했습니다.

답변

4

JSR 303 Bean Validation framework을 JSF 기본 제공 유효성 검사와 혼합합니다. JSR 303 Bean Validation 프레임 워크는 JSF 프레임 워크의 일부가 아닙니다. JSF가 바로 통합 지원을 제공하는 독점적 인 검증 프레임 워크입니다.

다른 속성에서 JSR 303 콩 검증 메시지를 지정해야합니다

대신 ValidationMessages_xx_XX.properties 파일을 지역화 할 수 있습니다 ValidationMessages.properties정확한 파일 이름과 파일. 이러한 파일은 클래스 경로의 루트에 위치해야합니다.

faces-config.xml에 등록 할 필요가 없습니다. <message-bundle>required="true", <f:validateRegex>, <f:convertDateTime> 등의 JSF 기본 변환기 및 유효성 검사기에만 사용됩니다.

+0

작동했습니다. ValidationMessages.properties를 기본 (루트) 패키지에 넣어야했습니다. – RajV