Eu faço a validação dos campos no lado do servidor, no meu projeto java tem uma camada de validação atributos e regra de negocio que quando violada levanta a excessão ‘INFORMACAO_OBRIGATORIA’ ou ‘REGRA_VIOLADA’,
Tem como o JSF “entender” que houve um erro e permanecer na janela atual, apenas exibindo a mensagem do erro ? No caso a janela atual é um dialog.
Código que chama a dialog:
<p:commandButton
icon="ui-icon-pencil"
oncomplete="PF('dlgFabricanteManutencao').show();"
update=":frmFabricanteManutencao:pnlFabricanteManutencao">
<f:setPropertyActionListener
value="#{item}"
target="#{fabricanteBean.fabricante}" />
</p:commandButton>
Botão da dialog que grava os dados:
<p:commandButton
value="Gravar"
icon="ui-icon-disk"
actionListener="#{fabricanteBean.salvarDados}"
oncomplete="PF('dlgFabricanteManutencao').hide();"
update=":frmFabricanteTabela:tabFabricanteTabela" />
Quando ocorre a excessão no lado java é exibida a mensagem através de um grow mas a dialog é fechada,
Eu sei que existe a validação do lado cliente, mas achei que fica uma gambiara, ou estou errado ?