Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Jsf 即使需要选择一个菜单值,也要更新组件_Jsf_Primefaces - Fatal编程技术网

Jsf 即使需要选择一个菜单值,也要更新组件

Jsf 即使需要选择一个菜单值,也要更新组件,jsf,primefaces,Jsf,Primefaces,我有一个必需的select,我的问题是,当用户选择一个空选项(null)时,验证将跳入,并且select的侦听器调用将被跳过。我视图中的一些组件依赖于这个值,所以如果选择null,bean将不会实现,组件也不会改变 例如: <h:form id="createForm"> <p:selectOneMenu id="produktCreateTypSelect" converter="omnifaces.SelectItemsIndexConver

我有一个必需的select,我的问题是,当用户选择一个空选项(null)时,验证将跳入,并且select的侦听器调用将被跳过。我视图中的一些组件依赖于这个值,所以如果选择null,bean将不会实现,组件也不会改变

例如:

<h:form id="createForm">
    <p:selectOneMenu id="produktCreateTypSelect"
            converter="omnifaces.SelectItemsIndexConverter"
            value="#{productController.selectedProduct.typ}" required="true">
        <f:selectItem itemValue="#{null}" itemLabel="-- Select --" />
        <f:selectItems var="productType" value="#{productController.findAllProducts()}"
                itemLabel="#{productType.name}" itemValue="#{productType}" />
        <p:ajax process="@this " event="valueChange" update="createForm"
                listener="#{productController.printHelloWorld}" />
    </p:selectOneMenu>

    <h:panelGroup id="dummy1" rendered="#{productController.selectedProduct.type != null}" />
</h:form>

问题是更新该小组的最佳方式是什么

“dummy1”


谢谢你的帮助

您可以使用update=“:createForm:dummy1”更新PanelGroups。如果您还希望提交空值,则必须删除所需的属性。@OTM Aws ok。。。如果不删除required属性,就没有其他选项了吗?当您选择required=“true”时,您必须选择要提交的值。如果您需要进行特定于应用程序的验证,您可以创建并使用自定义验证器。