2014-09-18 1 views
0
의 또 다른 키 대신 영어 스페인어 확인 메시지를 사용하는 방법
error.name.invalid= Inavlid name 
error.name.invalid.spanish= some spanish text 

로컬 라이즈 콩 검증 메시지 속성을 기반으로 - 나는 영어 키와 스페인어

ValidationMessages.properties

만 1 개 파일을했습니다 단지 속성 값을 기반으로 응용 프로그램의 단일 페이지에 대한?

+5

? 설명서와 튜토리얼에서 권장되고 입증 된대로 내장형 현지화 기능을 사용할 수 있도록 동일한 키를 사용하여 영어 용으로 1 개 파일과 스페인어 용으로 1 개 파일을 사용하지 않는 이유는 무엇입니까? – BalusC

답변

0

정말로이 작업을 수행하려는 경우 사용자 정의 유효성 검사기를 만들 수 있습니다.

@FacesValidator("yourValidator") 
public class YourValidator implements Validator 
{ 

    @Override 
    public void validate(FacesContext context, UIComponent component, Object value) 
    throws ValidatorException 
    { 
    ResourceBundle resourceBundle = ResourceBundle.getBundle("/ValidationMessages"); 
    String key = yourKey + (yourProperty ? "" : ".spanish"); 
    String message = resourceBundle.getString(key); 
    FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message); 
    throw new ValidatorException(facesMessage); 
    } 

} 

도 참조 : 예를 들어

정말
+0

사용자 정의 유효성 검사기가 좋은 옵션이 아닐 수도 있습니다. 우리는 필드 레벨 최대 절전 유효성 검사기 대신 각 필드에 대해 10 개 이상의 사용자 정의 유효성 검사기를 작성해야합니다. – user679526

+0

물론 많은 일이 있습니다. @BalusC가 이미 지적한 바와 같이 스페인어를위한 별도의 메시지 묶음을 처리하는 것이 좋습니다. –