사용자가 목록에서 "없음"항목을 선택하지 못하게하기 위해 selectOneMenu에 대해 유효성을 검사했습니다. JSF selectOneMenu 유효성 검사 및 아약스 렌더링
<h:selectOneMenu id="selectMenu" value="#{bean.selectedValue}" required="true" requiredMessage="Please select an item">
<f:ajax render="toRender selectMenuMessage" listener="#{bean.onSelect}"/>
<f:selectItem itemLabel="None" noSelectionOption="true"/>
<f:selectItems value="#{bean.items}" var="item" itemValue="#{item.id}" itemLabel="#{item.label}"/>
</h:selectOneMenu>
나는 나의 항목이 "없음"하지 않을 경우에만 보여 내 아래 패널 찾는 있습니다. "None"을 선택하면 메시지가 렌더링되고 패널이 사라집니다.
<h:panelGroup id="toRender">
<h:panelGrid rendered="#{bean.selectedValue == 0 ? false : true">
...
</h:panelGrid>
</h:panelGroup>
유효성 검사없이 작동하지만 두 작업을 모두 할 수 없습니다. 유효성 검사가 렌더링을 방해하는 것과 같습니다.
의견이 있으십니까? 감사
아무 것도 변경되지 않습니다. (requiredMessage btw 대신 converterMessage를 선택하면) 메시지가 나타나지만 렌더링이 시작되지 않고 내 panelGrid가 사라지지 않습니다. –
편집 해 주셔서 감사합니다. 이번에는 잘 알고 있습니다. 그렇다면 제출 후 유효성 검사와 렌더링 사이를 선택하는 것이 해결책입니다. –