Bom dia caros, fiz essa tela por conta propria, ficou bem posicionado do jeito que queria, porém ao chamar o método salvar nao consigo receber o render response. No caso de todos os campos preenchidos corretamente, a persistencia eh feita completa. Porem quando um campo required=true está em branco, nada acontece e não recebo nenhuma mensagem na tela. Gostaria que olhasem se esta hierarquia na tela esta correta, e tambem opnioes se esse tipo de implementação eh ou nao uma boa pratica. Abraços
[code]
<ui:composition template="/templates/principal.xhtml">
<ui:define name="selecionado">
Cadastro de Empresas
</ui:define>
<ui:define name="corpo">
<h:form id="cad_empresa">
<p:fieldset legend="Informações" >
<h:messages/>
<div id="tituloEmp">
<p:panelGrid columns="4" styleClass="panel">
<p:outputLabel for="codigo" value="Código: " />
<p:inputText value="#{empresaBean.empresa.codigo}" id="codigo" size="6" tabindex="1" />
<p:outputLabel for="nome" value="Razão Social:"/>
<p:inputText id="nome" size="45" value="#{empresaBean.empresa.nome}" maxlength="60" requiredMessage="Erro" required="true" label="Razão Social" title="Razão Social da empresa" tabindex="2" />
<p:message for="nome" display="icon"></p:message>
</p:panelGrid>
</div>
<div id="colunaEmpInfo1" class="col2">
<h:panelGrid styleClass="panel" columns="2">
<p:outputLabel for="logradouro" value="Logradouro:"/>
<p:inputText id="logradouro" value="#{empresaBean.empresa.logradouro}" size="45" maxlength="45" required="true" tabindex="3" />
<p:outputLabel for="numero" value="Número:"/>
<p:inputText id="numero" value="#{empresaBean.empresa.numero}" size="5" maxlength="5" tabindex="4"/>
<p:outputLabel for="complemento" value="Complemento:"/>
<p:inputText id="complemento" value="#{empresaBean.empresa.complemento}" size="45" maxlength="45" tabindex="5"/>
<p:outputLabel for="bairro" value="Bairro:"/>
<p:inputText id="bairro" value="#{empresaBean.empresa.bairro}" size="25" maxlength="25" required="true" tabindex="6"/>
<p:outputLabel for="cidade" value="Cidade:"/>
<p:inputText id="cidade" value="#{empresaBean.empresa.cidade}" size="30" maxlength="30" required="true" tabindex="7"/>
<p:outputLabel for="uf" value="Estado:"/>
<p:selectOneMenu id="uf" value="#{empresaBean.empresa.uf}" required="true" tabindex="8">
<f:selectItems value="#{empresaBean.estados}" var="uf" itemLabel="#{uf.descricao}" itemValue="#{uf.uf}" style="font-size:12px" />
</p:selectOneMenu>
</h:panelGrid>
</div>
<div id="colunaEmpInfo2" class="col2">
<h:panelGrid styleClass="panel" columns="2">
<p:outputLabel for="cgc" value="CNPJ(MF):"/>
<p:inputText id="cgc" value="#{empresaBean.empresa.cgc}" size="14" maxlength="14" required="true" tabindex="9"/>
<p:outputLabel for="inscEstadual" value="Insc Estadual:"/>
<p:inputText id="inscEstadual" value="#{empresaBean.empresa.inscEstadual}" size="14" maxlength="16" tabindex="10">
<pe:keyFilter mask="num"/>
</p:inputText>
//…mais campos
</p:fieldset>
<p:fieldset legend="Informações Cmplementares">
<div id="colEmpInfCom1" class="col2">
<p:panelGrid styleClass="panel" columns="2">
//...mais campos
</p:panelGrid>
</div>
</p:fieldset>
<p:commandButton value="Salvar" action="#{empresaBean.salvar}" update="codigo" icon="ui-icon-disk"></p:commandButton>
<p:commandButton value="Excluir" actionListener="#{empresaBean.excluir}" icon="ui-icon-closethick"></p:commandButton>
<p:commandButton value="Novo" actionListener="#{empresaBean.novo}" update=":cad_empresa" icon="ui-icon-plusthick"></p:commandButton>
</h:form>
</ui:define>
</ui:composition>
[/code]