Manter dados do formulário após erro
25/09/2015 13:32
1
Oi pessoal. Existe algum recurso do Grails que permite manter os dados preenchidos no formulário após um erro ou uma validação do lado do servidor?
Tags: formulario manter valores


0
Oi Victor,

basta que o model fornecido pela sua action já deixe os dados pré-preenchidos para você usando o próprio objeto que foi submetido. A melhor forma de ver como isto é feito é executar o comando "grails generate-all" contra alguma das suas classes de domínio. Você vai ver que é exatamente o efeito que você quer nos seus controladores e views.


0
Engraçado kico, pois eu usei exatamente o generate-all mas mesmo assim qualquer erro de validação retorna com o formulário vazio na tela.

código no controlador:

?@Transactional
def save(Requisicao requisicao) {
if (requisicao == null) {
transactionStatus.setRollbackOnly()
notFound()
return
}

if (requisicao.hasErrors()) {
transactionStatus.setRollbackOnly()
respond requisicao.errors, view:'create'
return
}

requisicaoService.incluir(requisicao)

request.withFormat {
form multipartForm {
flash.message = message(code: 'default.created.message', args: [message(code: 'requisicao.label', default: 'Requisicao'), requisicao.id])
redirect requisicao
}
'*' { respond requisicao, [status: CREATED] }
}
}


0
Victor, a idéia é mais ou menos essa:
https://gist.github.com/magnomp/76cc97c85259196181bf

Você precisa é verificar se há qualquer erro (testando o retorno do método save() e opcionalmente verificar antes o validate()) e, caso houver qualquer problema, renderizar a view que tem o formulário e passar aquela instancia inválida para a view, e na view você deve preencher cada campo do formulário com o valor apropriado vindo da instancia que você passou anteriormente.
Nada disso o Grails fará automaticamente para você (a menos que você use scaffolding, claro)



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto