【发布时间】:2012-07-20 04:18:27
【问题描述】:
在我的应用程序中,我有一个 SelecOneMenu,其中显示了如下所示的一些项目..
<h:selectOneMenu id="cmbInput" value="#{myBean.val}" required="true" requiredMessage="Some Message">
<f:selectItem itemLabel="Please select" noSelectionOption="true" />
<f:selectItems value="#{myBean.items}" />
<f:ajax event="valueChange" render="myPanel"/>
<f:ajax listener="#{myBean.myListener}"/>
</h:selectOneMenu>
基本上,每当用户选择一个项目时,它都会在下面呈现一个面板,该面板下面有一些输入字段..
<h:panelGroup id="myPanel" rendered="#{myBean.someFlag}">
<h:inputText id="input1" value="#{myBean.someVal}" required="true">
</h:panelGroup>
还有一个“下一步”按钮,可将用户带到下一页。
我面临的问题是,每当用户从下拉列表中选择某些内容并在面板呈现之前单击下一步按钮时,都会将他带到下一页。但我想阻止它,因为该面板包含需要输入的字段,所以我想在这种情况下单击下一步时抛出验证错误。
【问题讨论】:
-
如果您可以在项目中使用 primefaces,请查看 ajax 状态组件 Ajax Status
标签: jsf-2