1
我在Primefaces中使用单元格编辑器来更新数据表中的单元格。但是我想在确认更改之前验证输入。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>
Bean方法:
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