2014-11-05 5 views
2

클래스가 있고 클래스 속성의 유효성을 검사하기 위해 주석을 사용하고 있습니다.Bean 유효성 검사 메시지 현지화 방법

내 웹 페이지 (jsf2.2/primefaces/maven)는 다국어 (DE-utch, FR-rench, IT-alian)입니다.

내 문제는 hibernate 유효성 검사기가 일부 언어 (de, en, es, fr, hu, tr, pt_BR, mn_MN, zn_CN)를 지원하지만 이탈리아어는 지원하지 않는다는 것입니다. (항아리에 나열된, org-> hibernate-> validator) 이탈리아 웹 페이지 버전을 사용할 때 유효성 검사 메시지는 영어로 표시됩니다 (기본적으로 최대 절전 모드 선택).

어떻게 재정의하고 맞춤 이탈리아어 유효성 검사 메시지를 제공 할 수 있습니까?

최대 절전 모드 병이 엉망이되고 싶지 않습니다. 프로젝트가 실행 중이며 병이 자동으로 가져 오기되기 때문입니다.

답변

3

확인의 중복입니다.

1) 기본 ValidationMessages.properties를 덮어 쓰려는 사람은 적절한 파일을 선택해야합니다 (힌트 : 최대 절전 모드 jar : ValidationMessages.properties, ValidationMessages_de.properties, ValidationMessages_fr.properties에서 복사). 그에 따라 적절하게 변경해야합니다.

2) 모두 프로젝트의 src/main/resources/ 폴더에 저장하십시오. 폴더에 * .properties 파일이 모두 포함되어 있어야합니다.() 최대 절전 모드 불이행을 제외하고 더 많은 언어에 대한 유효성 검사를 제공하기 위해

3), 내 경우 이탈리아어를 들어, 나는 "ValidationMessages_it.properties"를 생성하고 SRC/메인/자원/ 폴더에 넣어. (src/main/resources/ValidationMessages_it.properties).

내 로캘이 이탈리아어로 설정되어 있으면 overriden/다른 유효성 검사 메시지 (ValidationMessages _ *. properties)가있는 경우 최대 절전 모드가 먼저이 폴더에서 찾습니다. 내 생성 된 파일 (ValidationMessages_it.properties)을 찾아 유효성 검사 메시지로 사용합니다!

이 솔루션은 간단하지만 찾으려면 많은 시간과 노력을 들이지 않았습니다. hibernate-validator에서 이미 구현 된 다른 로케일 이외의 다른 로케일에 대한 간단한 사용자 정의 유효성 검사 메시지를 가져 오는 방법에 대한 문서를 찾지 못했습니다.

주의 : 프로젝트 당신이 /SRC/메인/자바/ 폴더에 * properties.files을 넣어해야 받는다는되지 않은 경우이 솔루션은 as answeared in another similar question comments

+2

필요가 없습니다, MAVEN 프로젝트입니다 무엇이든 추출합니다. 필요하거나 원하는 속성 파일을 추가하기 만하면됩니다. 그들은 classpath의 뿌리에 있어야합니다. 사용자가 제공 한 ValidationMessages 등록 정보 파일은 기본 제공 등록 정보 파일보다 우선합니다. – Hardy

2

당신은 클래스 패스에

ValidationMessages_it_IT.properties 

를 넣어 자신 만의 언어 파일을 제공 할 수 있습니다.

이 질문은 내가 최대 절전 모드 항아리 덤비는없이이 문제를 극복하기 위해 관리 Localization with bean validation in JSF