Atualizar form após erro de validação
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á.
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
Curtidas 0
Respostas
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
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
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.
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
10/07/2012
required é no client,
mas vc pode usar ajax p diminuir seu impacto
att Davi
mas vc pode usar ajax p diminuir seu impacto
att Davi
GOSTEI 0
Eder Coelho
10/07/2012
Uso ajax, mas o problema persiste.
GOSTEI 0
Davi Costa
10/07/2012
Posta seus fontes pode ser que facilite a comunidade te ajudar
att Davi
att Davi
GOSTEI 0