【发布时间】:2014-03-08 02:36:13
【问题描述】:
我在 Primefaces 中使用单元格编辑器来更新数据表中的单元格。但是,我想在确认更改之前验证输入。
我为此目的使用了FacesContext.getCurrentInstance().validationFailed();,但仍在更新单元格。
这就是我的实现方式:
<p:dataTable value="#{bean.list}" var="var" id="table" editMode="cell" editable="true">
<p:ajax event="cellEdit" listener="#{bean.onCellEdit}" update="@form"/>
<p:column headerText="Quantity">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{var.quantity}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{var.quantity}"/>
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
豆方法:
public void onCellEdit(CellEditEvent event) {
//validate new value
if(!validate(event.getNewValue())){
//if validation returned false stop updating the cell
FacesContext.getCurrentInstance().validationFailed();
}
}
如果新值未通过验证,我想停止更新单元格,但无论如何单元格都会更新。我该如何解决这个问题?
PS:Primefaces 3.5
【问题讨论】:
标签: jsf jsf-2 primefaces