Atualizar form após erro de validação

Java

10/07/2012

Olá pessoal,

Estou com um problema que já fiz tudo que imaginei pra resolver e até agora, nada.
É o seguinte...
Estou usando Primefaces e JSF, tenho uma página para cadastro com um botão para salvar os dados, outro
para Buscar, respectivamente.
Quando você clica no botão Buscar, é exibido um dialog com um datatable para você procurar um registro
daí ao clicar no registro o formulário é preenchido possibilitando a edição, aí que está o problema.
Quando busca um registro para edição, se o usuário apagar um valor de um campo cujo o preenchimento é
obrigatório e clicar em salvar, vai dar o erro de validação, até aí tudo bem, mas se o usuário não corrigir
o campo e tentar selecionar outro registro, a tela de cadastro não atualiza, o valores do novo registro selecionado
não são carregados no form para edição, a tela fica com os dados do registro anterior devido o erro de validação
Enquanto não preencher o campo que ficou vazio não tem como seguir adiante, e se o usuário tentar selecionar outro registro
perceber o erro e preencher o campo e mandar salvar, os dados vão sobrepor o registro selecionado por último, já que o form
não foi atualizado e mantém os dados selecionados anteriormente, ou seja, o problema ocorre na faze de validação, a tela trava os dados nessa faze enquanto não for corrigido o valor, não consegui atualizar de forma alguma, já tentei limpar a
árvore de componentes, mas pra limpar a árvore é necessário percorrer os campos recursivamente, isso consome
memória e processamento, acabou ficando lento.

Alguém pode me ajudar?

Obrigado desde já.
Eder Coelho

Eder Coelho

Curtidas 0

Respostas

Davi Costa

Davi Costa

10/07/2012

essa validação é de campos required na sua página?
pq se for oq vc pode fazer e deixá-los não required e tratar na sua regra de negócio, para qdo selecionar outro registro , não ter esse problema

att Davi
GOSTEI 0
Eder Coelho

Eder Coelho

10/07/2012

Sim, os campos estão definido com required = true.
Pensei em fazer do jeito que você disse, pensei em definir
no mapeamento das classes, mas achei que poderia ser resolvido na interface.
Tem outra idéia?
a validação dos campos usando required na interface são feitas no cliente ou
no servidor?
Eu queria fazer o required na interface para não ter que fazer esse processamento no servidor.
GOSTEI 0
Davi Costa

Davi Costa

10/07/2012

required é no client,
mas vc pode usar ajax p diminuir seu impacto

att Davi
GOSTEI 0
Eder Coelho

Eder Coelho

10/07/2012

Uso ajax, mas o problema persiste.
GOSTEI 0
Davi Costa

Davi Costa

10/07/2012

Posta seus fontes pode ser que facilite a comunidade te ajudar

att Davi
GOSTEI 0
POSTAR