2010-11-28 4 views
4

마녀의 필드가 많아 길이를 확인해야합니다. <f:validateLength> 태그에 문제가 없습니다. 이 유효성 검사기에 대한 사용자 지정 메시지를 추가 할 수도 있습니다.필드에 대해 사용자 정의 된 <f : validateLength> 태그에 대한 오류 메시지 추가

문제는 각 필드에 대해 메시지를 사용자 지정해야한다는 것입니다. 예 : firstname 필드에는 "이름이 너무 짧습니다"또는 "이름이 너무 깁니다"라는 메시지가 있어야합니다. surname에는 "성이 너무 짧습니다"또는 "너무 오래되었습니다"등이 있어야합니다. JSF2.0에서이를 달성하는 방법은 무엇입니까?

답변

5

label 속성을 사용하십시오.

<h:inputText label="First name"> 

메시지 템플릿의 {1}이이 값으로 대체됩니다.

javax.faces.validator.LengthValidator.MAXIMUM: {1} too long.  
javax.faces.validator.LengthValidator.MINIMUM: {1} too short. 
+0

사용자 정의가 더 필요한 경우 어떻게해야합니까? 예 : "이름이 너무 짧습니다", "더 긴 비밀번호를 제공해주세요"JSF로 가능합니까? JSR303 Bean Validation을 사용하거나 거기에 각 필드에 대해 메시지를 지정할 수 있지만 값이 너무 짧고 값이 너무 긴 경우 별도의 메시지를 지정할 수 없습니다. – amorfis

+2

다른 메시지를 원하면 사용자 정의 'LengthValidator'를 제공하고 필요한 조건을 ''으로 전달해야합니다. 그것은'validate()'메쏘드 안에서'UIComponent # getAttributes()'에 의해 사용 가능합니다. 'faces-config.xml'에서 정의한 메시지 묶음 기본 이름은 유효성 검사기 내부에서'ResourceBundle # getBundle()'에 의해 메시지 묶음을 얻을 수있는'Application # getMessageBundle()'에 의해 사용 가능한 방법입니다 . 또한보십시오 [이 답변] (http://stackoverflow.com/questions/3138271/jsf-how-can-i-get-the-msg-from-message-property-as-a-string-in-java-code/3140182 # 3140182). – BalusC

관련 문제