【发布时间】:2012-04-24 15:54:21
【问题描述】:
当我在 dataTable 的字段中使用 f:validator 时,它不起作用,如果我在我的验证器类中插入断点,它永远不会执行。
我的数据表:
<p:dataTable value="#{contrato.plantillaPrograma}" var="pl" scrollHeight="300" rendered="#{contrato.abrirPrograma}" autoUpdate="true">
<p:column headerText="#{txtMsg['crearContrato.fecha']}" style="width:125px"
sortBy="#{pl.fecha}">
<h:inputText value="#{pl.fecha}">
<f:converter converterId="dateConverter" />
</h:inputText>
</p:column>
<p:column headerText="#{txtMsg['crearContrato.programa']}" style="width:125px"
sortBy="#{pl.programa}">
<h:inputText value="#{pl.programa}" />
</p:column>
<p:column headerText="#{txtMsg['crearContrato.fechaFactura']}" style="width:125px"
sortBy="#{pl.fechaFactura}">
<p:inputText value="#{pl.fechaFactura}" validator="sheetEnFirme">
<f:converter converterId="dateConverter"/>
</p:inputText>
</p:column>
</p:dataTable>
我的班级: 包 es.axpo.jsf.validator;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
@FacesValidator(value="sheetEnFirme")
public class SheetEnFirmeValidator implements Validator{
public void validate(FacesContext fc, UIComponent comp, Object obj)
throws ValidatorException {
throw new ValidatorException(new FacesMessage("Error"));
}
}
【问题讨论】:
-
您在给定代码中不使用
f:validator,而是使用validator属性(通常应该相同)。但是你有没有尝试过f:validator? -
是的,首先,我使用了 f:validator 标签。
标签: jsf primefaces datatable validation