我遇到了一个奇怪的问题<p:pickList>
。当我打开一个包含此 pickList 的对话框并使用 RemoveAll 按钮清除目标列表中的所有项目并使用目标列表中<p:commandButton>
的旧项目提交时,仍然会出现。我已经给出required=true
了pickList 的属性。奇怪的行为是当我提交它时,会出现一个工具提示,说该字段是强制性的。
那么,如果项目正在清除并且required
属性工作正常,为什么旧项目会重新出现?解决方案是什么?
<p:pickList id="selectedId" value="#{someDialog.selectedItem}"
var="item" itemValue="#{item}" required="true"
converter="pickListConverter" requiredMessage="#{msg.required_message}"
styleClass="#{component.valid ? '': 'ui-state-error'}">
</p:pickList>
编辑: Backing Bean - 我只发布相关方法。 SomeDialog.java
private DualListModel<Item> selectedItem = new DualListModel<Item>();
//Its getters and setters
public final void afterSave(final ParamObject pObject) {
pObject.getRelevantData().clear();
pObject.getRelevantData().addAll(selectedItem.getTarget());
}
参数对象.java
private List<Item> relevantData = new ArrayList<Item>();
//Setters and Getters