문제

JSF/A4J에서 조건부 평가 된 표현을 사용하는 데 약간의 문제가 있습니다.

여기 내 코드가 있습니다

<a4j:form>
         <h:inputText id="id1" value="#{mybean.myvalue}" size="1"
                   required="#{not mybean.condition}"
                   rendered="#{not mybean.condition}"
                   requiredMessage="Put a number in here" />

           <h:selectBooleanCheckbox value="#{mybean.condition}">
                <a4j:support event="onclick" reRender="id1"/>
            </h:selectBooleanCheckbox>

<a4j:commandButton action="#{mybean.myaction}" value="Do something" />

 </a4j:form>

부울 체크 박스는 조건부로 유효성 검사를 활성화/비활성화합니다.

이것은 작동하지 않습니다 : A4J : CommandButton은 단순히 유효성 검사를 건너 뜁니다.

감사.

도움이 되었습니까?

해결책

만약 입력 텍스트 유효성 검사 실패 (프로세스 유효성 검사 단계), 값 mybean.condition 업데이트되지 않습니다 (프로세스 업데이트 단계). 텍스트 필드는 필수의 속성, 이것은 가능성이 높습니다.

Richfaces Doc의 수명주기 :

alt text
(원천: jboss.org)

JSF 위상이 실패하면 수명주기가 건너 뛰면서 잘못된 입력에서 작동하지 않도록 응답을 렌더링합니다. 당신은 사용할 수 있습니다 H : 메시지 그리고 H : 메시지 보고 된 오류를 보는 태그 (Ajax를 사용하고 있기 때문에 다시 렌더링 될 무언가에 넣어야합니다.

당신이 설정하면 추측하고 있습니다 Ajaxsingle 속성 AJ4 : 지원 태그, 원하는 동작을 얻을 수 있습니다. 문서에 따르면 컨트롤 값 만 제출하므로 텍스트 필드는 적용 요청 값/프로세스 유효성 검사/프로세스 업데이트 단계에 관여하지 않습니다.

다른 팁

Mybean의 범위는 무엇입니까? 요청 범위 인 경우 버튼을 클릭하면 값이 재설정되고 입력 필드가 전혀 처리 될 수 있습니다 (렌더링 된 경우 'False'로 해결되는 경우).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top