ページに 2 つの p:selectOneMenu があり、どちらも同じ内容で、ユーザーは 2 つの異なる項目を選択する必要があり、ユーザーは両方の 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」イベントを使用して両方のメニューにリスナーをアタッチし、既に選択されているアイテムを削除して他のメニューを更新することでしたが、これはこのような単純なタスクにはやり過ぎのようです。これを行う他の方法はありますか?