Pessoal,
Estava fazendo meus cadastros em arquivos xhtml normais, que mostravam as mensagens de erro quando o usuário não preenchia um campo obrigatório. Porém, tive que alterar e coloquei dentro de dialogs, tanto a inclusão quanto a edição dos meus objetos, só que dentro do dialog as mensagens de erro - campos obrigatório não preenchdios - não aparecem. Se o usuário não preencher um campo obrigatório e clicar em salvar dentro do dialog, não aparece o erro, o form é submetido, o dialog é fechado e não acontece mais nada, não salva no BD. Mas quando eu abro o dialog, logo após a tentativa de inserção sem o preenchimento de campos obrigatórios, a mensagem de erro aparece.
Por que isso está acontecendo? Com evitar/consertar isso?
<p:dialog header="Gerenciar categoria" widgetVar="manterCategoriaDialog"
minWidth="650" minHeight="200" resizable="true" closable="true"
showEffect="slide" hideEffect="slide">
<h:outputText value="Campos com (*) são de preenchimento obrigatório!"
style="font-size: 14px; font-style: italic;"/>
<p:separator/>
<h:form id="formManterCategoria" style="font-size: 15px;">
<p:focus for="descricao"/>
<h:panelGrid id="dadosCategoria" columns="3">
<!--Somente na edição dos dados da cateoria que o campo código é mostrado-->
<h:outputLabel for="codigo" value="Código:" styleClass="labelNegrito"
rendered="#{categoriaController.categoria.id != null}"/>
<h:inputText id="codigo" value="#{categoriaController.categoria.id}"
disabled="true" size="10" rendered="#{categoriaController.categoria.id != null}"/>
<p:column rendered="#{categoriaController.categoria.id != null}"/>
<h:outputLabel for="descricao" value="Categoria (*):"
styleClass="labelNegrito"/>
<h:inputText id="descricao" value="#{categoriaController.categoria.descricao}"
maxlength="30" size="50"
required="true"
requiredMessage="Por favor, digite um nome para a categoria de produtos."/>
<p:column/>
<h:outputLabel for="ativo" value="Ativa:"
styleClass="labelNegrito"/>
<h:selectOneMenu id="ativo" value="#{categoriaController.categoria.ativo}">
<f:selectItem itemValue="true" itemLabel="Sim"/>
<f:selectItem itemValue="false" itemLabel="Não"/>
</h:selectOneMenu>
<p:column/>
</h:panelGrid>
<h:messages styleClass="erros"/>
<p:separator/>
<p:commandButton image="ui-icon ui-icon-disk" value="Salvar"
actionListener="#{categoriaController.salvar}" ajax="false"/>
<p:commandButton image="ui-icon ui-icon-arrowthickstop-1-w" value="Voltar"
onclick="manterCategoriaDialog.hide()"/>
</h:form>
</p:dialog>