jsf 2.1 + primefaces 3.4.1을 사용하고 있습니다. 비활성화 된 구성 요소의 유효성 검사를 방지하는 데 문제가 있습니다.primefaces가 유효하지 않은 구성 요소 유효성 확인
는 내가 가지고있는 것은 약이 :
<h:form id="form">
<p:dataTable id="parentDataTable" value=#{bean.list} var="parentItem"..>
<p:column>
..
<p:dataTable id="childDataTable" value=#{bean.map[parentItem]}" var="childItem">
<p:column>
<f:facet name="header">
some inputText
</f:facet>
<p:inputText id="inputText"
disabled=#{bean.selectedObjectsMap[childItem]} required="true" requiredMessage="value required" />
<p:message for=":form:parentDataTable:childDataTable:inputText" />
</p:column>
<p:column>
<f:facet name="header">
Select
</f:facet>
<p:selectBooleanCheckbox id="checkBox" value="#{bean.selectedObjectsMap[childItem]}">
<p:ajax update=":form:parentDataTable:childDataTable:inputText" />
</p:selectBooleanCheckbox>
</p:column>
</p:dataTable>
</p:column>
</p:dataTable>
</h:form>
아이디어는 기본적으로 InputText]를 구성 요소가 비활성화되고 내가 양식을 제출하면 "필요한 값"검증이 작동하지 않습니다. selectBooleancheckbox 구성 요소를 클릭하면 inputText가 활성화되고 양식을 제출할 때 "필수 값"유효성 검사가 작동합니다. 그러나 inputText를 다시 비활성화하면 유효성 검사가 계속되고 "값 필요"메시지가 나타나고 양식을 제출할 수 없습니다. 시각적으로 inputText 컴포넌트가 체크 박스를 클릭 할 때마다 비활성화된다는 것을 볼 수 있지만, 체크 박스를 클릭하면 서버 측의 JSF UI 컴포넌트 트리가 제대로 업데이트되지 않는 것으로 보입니다.
어떻게 해결할 수 있습니까? 유효성 검사는이 샘플 코드에 표시된 것보다 더 복잡한 밤은 경우
하나 더 질문드립니다. 이 질문을보실 수 있습니다 : [link] (http://stackoverflow.com/questions/13740924/jsf-2-1-selectonelistbox-component-does-not-set-new-value) – Nurjan