0
我想弄清楚下面的問題。我有一個簡單的富有:選擇禁用selectOne禁用時的驗證
<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,並且在userList中沒有找到具有此id的用戶。該bean是查看範圍。有沒有辦法以某種方式跳過驗證或排除富人:從提交表單中選擇?
哇,我沒有意識到我可以結合f:selectItem f:selectItems這樣。 Tkinking現在它是非常明顯的;) 我想可以使用此作爲解決方法。感謝Luiggi。 – forest
@forest歡迎你。如果這是您正在尋找的答案,請不要忘記[將此帖標記爲答案](http://meta.stackexchange.com/a/5235/182862)。歡迎來到StackOverflow :)。 –