私は次の問題を理解しようとしています。私は単純な金持ちを持っています:選択
<rich:select listWidth="310" id="userSelect" value="#{departmentBacking.selectedUserId}"
disabled="#{departmentBacking.unassignCheckbox}"enableManualInput="true" defaultLabel="#{not departmentBacking.unassignCheckbox ? 'start typing a surname...' : 'Uncheck unassign departments first'}">
<f:selectItems value="#{departmentBacking.userList}" var="user" itemValue="#{user.id}" itemLabel="#{user.surname} #{user.name} - #{user.email}" />
</rich:select>
後にいくつかの部門のリーダーとして設定される人を選択します。うまく機能します。ただし、新しい部門を選択せずに部門の割り当てを解除するだけでよい場合、問題が発生し始めます。unnassignCHeckboxが選択されている場合、この値はまったく使用しません。ただし、常に検証エラーが発生するため、jsfエンジンにポストバックを実行させることはできません。
MyForm:userSelect: Validation Error: Value is not valid
これは、#{user.id}のデフォルト値が0であり、このIDを持つユーザーがuserListに見つからないためだと思います。Beanはビュースコープです。どういうわけか検証をスキップするか、送信フォームからrich:selectを除外する方法はありますか?