PrimeFaces nao atualiza campos que nao estao como required

E ai galera, estou com uma duvida cruel, rssrs
tenho um formulario com apenas 3 campos Razao social, Endereco e email, os campos Razão Social e Endereco estao com a tag required.
quando recupero as informaçoes no banco pelo dialog os campos Razao Social e Endereco que sao requierd sao mostrada no formulario o campo email nao.
Alguem sabe me responder porque???
se eu colocar a tag required no email ai mostra normal. mas nao posso fazer isto.

<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.prime.com.tr/ui" 
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                template="./default.xhtml">

    <ui:define name="conteudo">
       <h:form id="juridicaform" style="width:700px;margin:0 auto;padding: 10px;text-align:left;margin-top: 0px;">
            
       <p:panel id="painel" header="Cliente Pessoa Juridica" >  
             <h:panelGrid id="panel1" columns="2" cellpadding="5"> 
                  
                   <h:outputText value="Razão Social"/>
                   <p:inputText value="#{clientejuridicaMB.cliente.razaosocial}" size="80" required="true" requiredMessage="Razao Social Obrigatoria"  />
                   <h:outputText value="bairro"/>
                   <p:inputText   value="#{clientejuridicaMB.cliente.bairro}" size="80" required="true" requiredMessage="Razao Social Obrigatoria" />
                   <h:outputText value="Email"/>
                   <p:inputText value="#{clientejuridicaMB.cliente.email}" size="80"  />
             </h:panelGrid>
                  
           <p:commandButton value="Salvar" update="juridicaform,painel,messages" id="ajax2"  
             actionListener="#{clientejuridicaMB.salvar}" /> 
            <p:commandButton value="Limpar" update="juridicaform,painel,messages" id="ajax"  
             actionListener="#{clientejuridicaMB.novo}" /> 
             <p:commandButton  update="painel" value="Pesquisar" onclick="buscaDialog.show()" />
             <p:commandButton value="Atualizar" update="juridicaform,painel" id="btatz" ajax="false" actionListener="#{clientejuridicaMB.teste2}"/>
                      

       </p:panel>
       
        </h:form> 
        
        <p:dialog header="Cadastrados Cadastrados" widgetVar="buscaDialog" resizable="true" id="buscaDlg"  
                showEffect="fade" hideEffect="explode" modal="true" width="750" height="500">
            <h:form id="buscaform" style="width:700px;margin:0 auto;padding: 10px;text-align:left;margin-top: 0px;">
               <h:panelGrid columns="3" cellpadding="5"> 
                   <h:outputText value="Razão Social"/>
                   <p:inputText value="#{clientejuridicaMB.razaosocial}" />
                    <p:commandButton value="Buscar" update="dataTablecli" id="btsair"  
                      actionListener="#{clientejuridicaMB.buscaporrazao}"  /> 
                  </h:panelGrid>     
                
                     <p:dataTable id="dataTablecli" var="cli" value="#{clientejuridicaMB.clientes}" 
                              emptyMessage="Nenhum registro incluido."     
                              paginator="true" rows="5"  
                              paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                              rowsPerPageTemplate="4,10">  
                     <f:facet name="header">  
                         Clientes Cadastrados  
                     </f:facet>  

                     <p:column>  
                         <f:facet name="header">  
                             <h:outputText value="Razão Social" />  
                         </f:facet>  
                         <h:outputText value="#{cli.razaosocial}" />  
                     </p:column>
                     <p:column>  
                         <f:facet name="header">  
                             <h:outputText value="CNPJ" />  
                         </f:facet>  
                         <h:outputText value="#{cli.cnpj}" />  
                     </p:column>
                     <p:column>  
                         <f:facet name="header">  
                             <h:outputText value="Detalhar" />  
                         </f:facet>  
                         <p:commandButton value="Detalhar"  update="juridicoform,messages" id="btsair" ajax="false" 
                                                     oncomplete="buscaDialog.hide();">
                            <f:setPropertyActionListener value="#{cli}" target="#{clientejuridicaMB.clienteselecionado}" />  
                            
                           
                         </p:commandButton>
                         
                     </p:column>    
                     
                 </p:dataTable>    
               
           </h:form> 
        </p:dialog>    
       
       
    </ui:define>

</ui:composition>

Meu Bean

[code]
@ManagedBean
@SessionScoped
public class ClientejuridicaMB {
private ClienteJuridica cliente=new ClienteJuridica();
private EntityManager mgr;
private Empresa empresa;
private int repreSelecionado;
private String ufselecionada;
private int cidadeselecionada;
private long idcliente=0l;
private String razaosocial;
private Cliente clienteselecionado;

private List clientes = new ArrayList();
/** Creates a new instance of ClienteMB */
public ClientejuridicaMB() {
empresa = new Login().getUsuarioLogado().getUsuario().getEmpresa();
}

public void buscaporrazao(){
    mgr = JPAUtil.getManager();
    Query q = mgr.createQuery("select c from ClienteJuridica c where c.razaosocial like :razao and c.empresa=:empresa order by c.razaosocial");
    q.setParameter("razao", "%"+razaosocial+"%");
    q.setParameter("empresa", empresa);
    clientes = q.getResultList();
  
    
}
public void novo(){
    ufselecionada="";
    cidadeselecionada=0;
    cliente = new ClienteJuridica();
    idcliente=0l;
    
}
public void salvar(){
   String cnpj = Utilitario.onlynumber(cliente.getCnpj()) ;
   if (!Utilitario.CNPJ(cnpj)){
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"CNPJ Invalido ", "CNPJ"));      
        return;
   }
   mgr = JPAUtil.getManager(); 
   Query q = mgr.createQuery("select count(c) from ClienteJuridica c where c.cnpj = :cnpj and c.empresa=:empresa");
   q.setParameter("cnpj", cliente.getCnpj());
   q.setParameter("empresa",empresa);
   long t = (Long)q.getSingleResult();
   if (t>0 && idcliente==0){
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Cliente Já cadastrado com este cnpj ", "CNPJ"));      
        return;
   }
   Query q2 = mgr.createQuery("select c from Cidade c where c.idibge = :ibge");
   q2.setParameter("ibge", cidadeselecionada);
   Cidade cid =(Cidade) q2.getSingleResult();
   Usuario usr = mgr.find(Usuario.class, repreSelecionado);
   
   mgr.getTransaction().begin();
   boolean incluido=false;
   if (idcliente==0){
       incluido=true;
       cliente.setCidade(cid);
       cliente.setEmpresa(empresa);
       cliente.setUsuario(usr);
       
       mgr.persist(cliente);
   }else{
       
       cliente.setCidade(cid);
       cliente.setUsuario(usr);
       cliente.setId(idcliente);
       mgr.merge(cliente);
   }
   idcliente = cliente.getId();
   mgr.flush();
   mgr.getTransaction().commit();
   if (incluido){
      FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Cliente Cadastrado com Sucesso!!! ", "OK"));      
   }else{
      FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Cliente Alterado com Sucesso!!! ", "OK"));       
   }
}
public void teste2(){
    idcliente = cliente.getId();
    mgr = JPAUtil.getManager(); 
    this.cliente = mgr.find(ClienteJuridica.class, idcliente);
    
    repreSelecionado = this.cliente.getUsuario().getId();
    ufselecionada = this.cliente.getCidade().getSigla();
    changeuf();
    cidadeselecionada = this.cliente.getCidade().getIdibge();
}

public Cliente getClienteselecionado() {
    return clienteselecionado;
}

public void setClienteselecionado(Cliente clienteselecionado) {
    this.clienteselecionado = clienteselecionado;
    idcliente = clienteselecionado.getId();
    mgr = JPAUtil.getManager(); 
    this.cliente = (ClienteJuridica) mgr.find(Cliente.class, idcliente);
}




demais gets e sets
[/code]

Estou usando primefaces 2.2.1 e NetBeans.
OBS o sistema tem mais campos so coloquei os 3 para ficar mais facil de entender.
Espero que alguem possa me ajudar.
Valeu

Com senhas eu utilizo “redisplay=true”. Talvez também sirva para campos com required. Não custa nada tentar. :smiley: