Pessoal! Realmente este erro ocorre de vez em quando, e não depende do tipo de dados que a pessoa insere sabe, tipo o campo é pra 10 caracteres e colocam 15.
Este erro ocorre quando a página é carregada e nem sempre ocorre
Segue o código do arquivo _novoCadastro.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view contentType="text/html">
<h:panelGrid columns="1">
<h:panelGrid style="border: 0px;" cellpadding="0" cellspacing="10" columns="2">
<h:graphicImage url="../imagens/atencao_p.gif" style="width: 18px; height: 19px; text-align: left"/>
<h:outputLabel value="Leia antes de preencher" styleClass="fonte_cinza" style="text-align: left; font-weight: bold; "/>
</h:panelGrid>
<h:form id="formAssociado">
<p:panel id="panel" style="margin: 0px auto; border: 0px;">
<h:panelGrid columns="2" style="margin-left: 10px; border: 0px;">
<h:outputLabel value="*Nome: "/>
<p:inputText value="#{novoEstudanteMB.associado.nome}" style="width: 180px;" id="nome" required="true"
requiredMessage="campo [Nome] é obrigatório"/>
<h:outputLabel value="*RG: "/>
<p:inputText value="#{novoEstudanteMB.associado.rg}" style="width: 180px;" id="rg" required="true"
requiredMessage="campo [RG] é obrigatório"/>
<h:outputLabel value="Data Nascimento: "/>
<p:inputMask id="datanascimento" label="Data Nascimento" style="width: 180px" value="#{novoEstudanteMB.dataNascimento}" mask="99/99/9999">
<f:convertDateTime locale="pt_BR" timeZone="America/Sao_Paulo"/>
</p:inputMask>
<h:outputLabel value="Sexo: "/>
<p:selectOneRadio value="#{novoEstudanteMB.associado.sexo}" id="sexMachine">
<f:selectItem itemLabel="Masculino" itemValue="Masculino" />
<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
</p:selectOneRadio>
<h:outputLabel value="Fumante: "/>
<p:selectOneRadio value="#{novoEstudanteMB.associado.fumante}">
<f:selectItem itemLabel="Sim" itemValue="Sim"/>
<f:selectItem itemLabel="Não" itemValue="Não"/>
</p:selectOneRadio>
</h:panelGrid>
</p:panel>
</h:form>
<h:panelGrid border="0" cellpadding="0" cellspacing="0">
<p:growl showDetail="true" showSummary="true" id="msgs"/>
</h:panelGrid>
</h:panelGrid>
</f:view>
</html>
e o codigo do arquivo NovoEstudanteMB.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mb.visitante;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import modelo.Associado;
import modelo.BairroCidade;
import negocio.AssociadoJpaController;
import negocio.BairroCidadeJpaController;
import org.primefaces.context.RequestContext;
import util.ValidatorCPFCNPJ;
import util.textUtil;
/**
*
* @author iuri
*/
@ManagedBean
@ViewScoped
public class NovoEstudanteMB implements Serializable {
private Associado associado = new Associado();
private Date dataNascimento = null;
private AssociadoJpaController associadoJpa;
private String confirmaSenha;
private RequestContext requestContext;
private Boolean aceite = false;
public Boolean getAceite() {
return aceite;
}
public void setAceite(Boolean aceite) {
this.aceite = aceite;
}
public Date getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getConfirmaSenha() {
return confirmaSenha;
}
public void setConfirmaSenha(String confirmaSenha) {
this.confirmaSenha = confirmaSenha;
}
public Associado getAssociado() {
return associado;
}
public List<BairroCidade> completeBairro(String query) {
List<BairroCidade> lc = new BairroCidadeJpaController().findAllByNomeBairro(query);
return lc;
}
public void setAssociado(Associado associado) {
this.associado = associado;
}
private boolean validaForm() {
String nome[] = associado.getNome().split(" ");
if (nome[0].toLowerCase().trim().equals(associado.getSenha())){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor digitar uma senha diferente do seu nome.", ""));
return false;
}
String cpfSemFormato = textUtil.removeformatacao(associado.getCpf());
if(cpfSemFormato.equals(associado.getSenha())){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor digitar uma senha diferente do seu CPF.", ""));
return false;
}
if(aceite == false){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor aceitar os termos de responsabilidade.", ""));
return false;
}
if (existeCPF()) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Já existe um cadastro com o CPF [" + associado.getCpf() + "].", ""));
return false;
}
if (!new ValidatorCPFCNPJ(ValidatorCPFCNPJ.cpf, associado.getCpf()).isValido()) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"CPF " + associado.getCpf() + "] inválido.", ""));
return false;
}
if (associado.getBairro() == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Informe um bairro", ""));
return false;
}
//verifica se as senhas digitadas sao iguais
if (!confirmaSenha.equals(associado.getSenha())) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Senha Inválida", "As senhas digitadas são diferentes"));
return false;
}
return true;
}
public void cadastra() {
if (!validaForm()) {
return;
}
if (dataNascimento != null) {
associado.setDatanascimento(new java.sql.Date(dataNascimento.getTime()));
}
associado.setSituacao(true);
associado.setDatacadastro(new java.sql.Date(System.currentTimeMillis()));
associado.setUlt_atualiz(new java.sql.Date(System.currentTimeMillis()));
//cria
associadoJpa.create(associado);
requestContext = RequestContext.getCurrentInstance();
requestContext.addCallbackParam("sucesso", true);
}
private boolean existeCPF() {
if (!associadoJpa.verificaExistenciaCPF(associado.getCpf())) {
return true;
}
return false;
}
public NovoEstudanteMB() {
associadoJpa = new AssociadoJpaController();
associado.setSexo("Masculino");
associado.setFumante("Não");
}
}
