Olá Pessoal
Estou com o seguinte problema, estou tentando usar validacao no Banco atraves do Hibernate, só que na minha pagina JSP mais me deparei com o seguinte problema.
Se eu insiro dados no modulo q eu abir (Ex. Cadastrar Cliente) ele valida corretamente, só que se por acaso eu abro
um modulo e queira fechar ele sem inserir dados, ele não aceita, fica acusando as validacoes.
Como eu faco para desconsiderar as validacões no caso de fechar o modulo sem inserir dados?
Desde já agradeco pela ajuda.
Segue o Codigo do Cadastro de Cliente
<f:subview id="CadCliente">
<rich:tabPanel>
<rich:tab label="Cadastrar Cliente">
<h:form id="cadastro">
<rich:panel>
<f:facet name="panelcadcli">
Insira os Dados Pessoais do Cliente, campos marcados com * são obrigatorios.
</f:facet>
</rich:panel>
<rich:spacer height="8" />
<rich:panel>
<h:outputText value="Nome Completo"/>
<rich:spacer width="10" />
<h:inputText id="nome" value="#{clienteHandler.cliente.nome}" >
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="CPF"/>
<rich:spacer width="80" />
<h:inputText id="cpf" value="#{clienteHandler.cliente.cpf}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="RG"/>
<rich:spacer width="85" />
<h:inputText id="rg" value="#{clienteHandler.cliente.rg}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Número Cartão SUS"/>
<rich:spacer width="15" />
<h:inputText id="cartaoSUS" value="#{clienteHandler.cliente.cartaosus}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Data de Nascimento"/>
<rich:spacer width="15" />
<h:inputText id="dtaNascimento" value="#{clienteHandler.cliente.dataNascimento}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Endereco"/>
<rich:spacer width="15" />
<h:inputText id="endereco" value="#{clienteHandler.cliente.endereco}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Bairro"/>
<rich:spacer width="15" />
<h:inputText id="bairro" value="#{clienteHandler.cliente.bairro}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Cidade"/>
<rich:spacer width="15" />
<h:inputText id="cidade" value="#{clienteHandler.cliente.cidade}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Mãe"/>
<rich:spacer width="15" />
<h:inputText id="mae" value="#{clienteHandler.cliente.mae}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Pai"/>
<rich:spacer width="15" />
<h:inputText id="pai" value="#{clienteHandler.cliente.pai}">
</h:inputText>
<h:outputText value=" *"/><br/>
<h:outputText value="Telefone"/>
<rich:spacer width="15" />
<h:inputText id="telefone" value="#{clienteHandler.cliente.telefone}">
</h:inputText><br/>
<h:outputText value="Data do Cadastro"/>
<rich:spacer width="15" />
<h:inputText id="dtacadastro" readonly="false" value="#{clienteHandler.cliente.dataCadastro}">
</h:inputText><br/>
</rich:panel>
<br/><br/>
<h:commandButton value="Salvar" action="#{clienteHandler.salva}"/>
<a4j:commandButton ajaxSingle="true" value="Limpar"
reRender="nome, cpf, rg, cartaoSUS, dataNascimento, endereco, bairro, cidade,
mae, pai, telefone, dta_cadastro" status="commonstatus">
<a4j:actionparam name="n" value="" assignTo="#{clienteHandler.cliente.nome}" />
<a4j:actionparam name="j" value="" assignTo="#{clienteHandler.cliente.cpf}" />
</a4j:commandButton>
<h:commandButton value="Fechar" action="#{ddmenu.mostrarCadastrarCliente}" />
</h:form>
</rich:tab>
</rich:tabPanel>
</f:subview>
Parte do Bean que exibe ou nao a pagina.
public class DropDownMenu {
private boolean CadastrarCliente = false;
get e set
public void mostrarCadastrarCliente () {
this.CadastrarCliente=!CadastrarCliente;
}
Pagina onde a Subview é exibida
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Saude Total </title>
</head>
<body>
<f:view>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<style>
.pic {
margin-bottom: -4px;
margin-right: 2px;
}
</style>
<h:form>
<rich:toolBar>
<rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
<h:graphicImage value="/images/icons/cadastrar.gif" styleClass="pic"/>
<h:outputText value="Cadastrar"/>
</h:panelGroup>
</f:facet>
<rich:menuItem submitMode="ajax" value="Cliente"
action="#{ddmenu.mostrarCadastrarCliente}" icon="/images/icons/create_doc.gif" />
</rich:toolBar>
<rich:separator/>
<a4j:outputPanel ajaxRendered="true">
<h:panelGroup id="CadastrarCliente" rendered="#{ddmenu.cadastrarCliente}">
<jsp:include page="Cliente.jsp"/>
</h:panelGroup>
</a4j:outputPanel>
</h:form>
<img src="images/spacer.gif" width="1" height="5" alt="" border="0" />
<br />
</ui:composition>
</f:view>
</body>
</html>
A Classe com as Validacoes
@Entity
public class Cliente {
@Id
@GeneratedValue
@Column(name="id_cli")
private Integer id;
@Column(name="nome_cli", nullable=false, length=60)
private String nome;
@Column(name="cpf_cli", unique=true, nullable=false, length=11)
private String cpf;
@Column(name="rg_cli", unique=true, nullable=false, length=15)
private String rg;
@Column(name="end_cli", nullable=false, length=60)
private String endereco;
@Column(name="bairro_cli", nullable=false, length=50)
private String bairro;
@Column(name="cidade_cli", nullable=false, length=20)
private String cidade;
@Column(name="tel_cli", nullable=false, length=12)
private String telefone;
@Temporal(TemporalType.DATE)
@Column(name="dtnasc_cli", nullable=false)
private Calendar dataNascimento;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="dtcadastro_cli", nullable=false)
private Calendar dataCadastro;
@Column(name="cartaosus_cli", unique=true, nullable=false, length=14)
private Integer cartaosus;
@Column(name="mae_cli", nullable=false, length=45)
private String mae;
@Column(name="pai_cli", length=45)
private String pai;
gets e sets