1
我必須提供其需要值的選擇列表爲每次我用required
時間,我使用requiredMessage
時未輸入一個值,顯示一條消息。但他們都沒有爲我的選擇列表的工作這是如下圖所示:Primefaces選擇表「需要」驗證失敗
<p:pickList value="#{parameterValueDialog.selectedModelSeries}"
var="item" itemValue="#{item}" required="true"
converter="pickListConverter" requiredMessage="#{msg.validation_message}">
有沒有人有關於如何解決這個問題的想法?這是Primefaces庫本身的問題嗎?
編輯:發佈getAsObject()
方法
@Override
public final Object getAsObject(final FacesContext ctx, final UIComponent component, final String string) {
Object returnObject = null;
Object dualList = ((PickList) component).getValue();
DualListModel<Item<?>> listModel = (DualListModel<NamedItem<?>>) dualList;
for (Item<?> item : listModel.getSource()) {
String id = String.valueOf(item.getId());
if (string.equals(id)) {
returnObject = item;
break;
}
}
if (returnObject == null) {
for (Item<?> item : listModel.getTarget()) {
String id = String.valueOf(item.getId());
if (string.equals(id)) {
returnObject = item;
break;
}
}
}
return returnObject;
}
顯示轉換器的'getAsObject()'。那裏可能會導致問題。它可能錯誤地返回了一個空字符串值的非'null'。 – BalusC
@BalusC - 包含的代碼。 – Rajath