package manager;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
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;
import entity.Cliente;
@FacesValidator(“dataNacValidator”)
public class DataNacValidator implements Validator {
private Date data_hoje;
private Cliente cliente;
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public void validate(FacesContext ctx, UIComponent cmpt, Object valor) throws ValidatorException {
validateBeginDate(ctx, cmpt, valor);
}
public void validateBeginDate(FacesContext context, UIComponent component,
Object value) {
data_hoje = new Date();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -16);
System.out.println("Data Hoje: "+ data_hoje);
System.out.println("Data Nasc: "+ cliente.getDataNascimento());
Integer result = data_hoje.getDate() - cliente.getDataNascimento().getDate();
System.out.println("Resultado: "+result);
if (result <= 16) {
throw new ValidatorException(new FacesMessage(
"Data de Nasciemto Invalida!!!"));
}
}
}
pegando a data de nascimento da classse cliente, e não esta dando
java.lang.NullPointerException
manager.DataNacValidator.validateBeginDate(DataNacValidator.java:39)
manager.DataNacValidator.validate(DataNacValidator.java:30)
javax.faces.component.UIInput.validateValue(UIInput.java:1147)
javax.faces.component.UIInput.validate(UIInput.java:965)
org.primefaces.component.calendar.Calendar.validate(Calendar.java:429)
javax.faces.component.UIInput.executeValidate(UIInput.java:1209)
javax.faces.component.UIInput.processValidators(UIInput.java:698)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1086)
javax.faces.component.UIForm.processValidators(UIForm.java:244)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1086)
org.primefaces.component.panel.Panel.processValidators(Panel.java:281)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1086)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1086)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1165)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
