1

我在一个页面中有两个 p:selectOneMenu,它们的内容相同,用户必须选择两个不同的项目,用户不能在两个 selectOneMenu 中选择相同的项目。如何实施此验证?我当前的代码是这样的:

<p:selectOneMenu id="itemOne"
    value="#{backingBean.itemOne}"
    required="true" label="Item One:" requiredMessage="Item one is required!">
        <f:selectItem itemLabel="Select One" itemValue="" />
        <f:selectItems value="#{backingBean.itemList}" var="item" 
            itemLabel="#{item.QLabel}" itemValue="#{item.QLabel}" /> 
</p:selectOneMenu>
<p:selectOneMenu id="itemTwo"
    value="#{backingBean.itemTwo}"
    required="true" label="Item Two:" requiredMessage="Item two is required!">
        <f:selectItem itemLabel="Select One" itemValue="" />
        <f:selectItems value="#{backingBean.itemList}" var="item" 
            itemLabel="#{item.QLabel}" itemValue="#{item.QLabel}" /> 
</p:selectOneMenu>

我想到的第一件事是在两个菜单中附加一个带有“onchange”事件的监听器,删除已经选择的项目并更新另一个菜单,但这对于如此简单的任务来说似乎有点过分了。有没有其他方法可以做到这一点?

4

0 回答 0