2011-03-31 3 views
0

commandLink의 immediate="true"은 유효성 검사를 건너 뛰지 않아야합니까? 나는 그 링크, 어떤 아이디어를 클릭해도 여전히 "암호는 필요합니다"라는 메시지를 받고 있습니까?유효성 검사를 건너 뛰려면 JSF immediate = true

<h:inputSecret id="j_password" autocomplete="off" value="#{authenticationBean.password}" required="true" requiredMessage="Password is Required" /> 

<p:commandLink action="#{authentication.forgotPassword}" ajax="false"> 
    <h:outputText value="#{bundle['login.forgotpassword.TEXT']}" immediate="true"/> 
</p:commandLink> 

답변

1

하기 대신 <p:commandLink><h:outputText>에 넣어했습니다. immediate 속성은 UIOutput 구성 요소에 영향을 미치지 않으며 (일부 환경에서도 XML 유효성 검사 오류가 발생 함) UIInputUICommand 구성 요소에만 적용됩니다. 특성을 <p:commandLink> 구성 요소로 이동하십시오.

1

직접 속성은 유효성 검사를 건너 뛰지 않습니다. 구성 요소와 모든 이벤트, 유효성 검사기 등을 APPLY_REQUEST 단계로 이동합니다. 따라서 다른 모든 즉각적인 입력 및 명령보다 먼저 입력 및 명령을 처리 할 수있는 기회가 주어집니다. 즉각적인와 검증을 생략 할 경우

http://www.javacodegeeks.com/2012/01/jsf-and-immediate-attribute-command.html

, 당신은 입력과 FacesContext 리디렉션 같은 그들의 이벤트의 추가 처리를 방지하기 위해 즉각적인 조치의 경우에 적절한 조치를 취할 것입니다.

관련 문제