Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation primefaces禁用了组件验证_Validation_Jsf 2_Primefaces_Disabled Input - Fatal编程技术网

Validation primefaces禁用了组件验证

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

我使用的是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=#{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>

还有一个问题。请你看看这个问题: