2013-03-29 2 views
0

primefaces 및 JSF를 사용하고 있습니다. 옵션 주소 필드가 있습니다. 사용자가 필드 (예 : 우편 번호 또는 이름)를 채우면 다른 모든 필드가 필요합니다. 이 유효성 검사를 수행하는 가장 좋은 방법은 무엇입니까?PrimeFaces 입력 그룹 유효성 검사

답변

1

당신은

<f:event listener="#{bean.validationMethod}" type="postValidate" /> 
<h:panelGroup id="xyz" rendered="#{facesContext.validationFailed}"> 
    <h:message for="myform"/> 
</h:panelGroup> 

<h:panelGroup id="myform"> 
....... 
<h:panelGroup> 
이 모델을 업데이트하기 전에 발생한다

처럼 여러 필드의 유효성을 검사하기 위해 postValidate 이벤트를 추가 할 수 있으며

FacesContext fc = FacesContext.getCurrentInstance(); 
UIComponent components = event.getComponent(); 
UIInput param1 = (UIInput) components.findComponent("param1"); 
UIInput param2 = (UIInput) components.findComponent("param2"); 

유효성 검사가 만약 서로 다른 구성 요소에 대한 새로운 가치를 얻을 수 있습니다 실패하면 F acesContext.getCurrentInstance().validationFailed()을 호출하고 myform에 대한 메시지를 추가하십시오.

당신은 특정 입력이 내가 Omnifaces validateAllOrNone을 사용하는 것이 좋습니다 것 다음 충전 때 추가 단지 확인 다른 입력을하고자하는 사용자 정의 유효성 검사를 사용하지 않는 경우

http://showcase.omnifaces.org/validators/validateAllOrNone