Validation primefaces禁用了组件验证
我使用的是JSF2.1+PrimeFaces3.4.1。我遇到了阻止验证禁用组件的问题 我得到的大致是:Validation primefaces禁用了组件验证,validation,jsf-2,primefaces,disabled-input,Validation,Jsf 2,Primefaces,Disabled Input,我使用的是JSF2.1+PrimeFaces3.4.1。我遇到了阻止验证禁用组件的问题 我得到的大致是: <h:form id="form"> <p:dataTable id="parentDataTable" value=#{bean.list} var="parentItem"..> <p:column> .. <p:dataTable id="childDataTable" value
<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>
..
如果您的验证并不比本示例代码中显示的更复杂,那么您可以使用
<p:inputText id="inputText" disabled="#{bean.selectedObjectsMap[childItem]}" required="#{!bean.selectedObjectsMap[childItem]}" requiredMessage="value required" />
这意味着您可以使用和禁用属性相同的bean值切换必需属性,只需添加一个 如果您想绕过commandButton上的验证程序,那么您可以实现
<f:validator validatorId="EmailValidator" disabled="#{param['disableValidation']}" />
在表单上动态启用和禁用电子邮件验证程序
<p:commandButton
icon="ui-icon-remove" id="removeBtn"
title="#{commonLbl.cmdRemoveCon}"
disabled="#{pc_searchProspectBean.searchProspectVO.prospectVO.removeContactFlg}"
styleClass="btn btn-sm btn-primary"
action="#{pc_searchProspectBean.doRemoveContact(prospectTbl.indexId)}"
update=":frm1:pnlProspectContact" onclick="modalDialog.show()"
oncomplete="modalDialog.hide()">
<f:param name="disableValidation" value="true" />
</p:commandButton>
还有一个问题。请你看看这个问题: