Abortar
10/07/2013 13:51
0
Olá pessoal, sou novato no mundo grails e hoje me deparo com uma dúvida, imaginem a seguinte situação. Em meu controlador tenho o método save(), neste método faço o salvar dos dados e válidações, então tenho uma estrutura parecida com a abaixo:

def save = {
//declarações
def pessoa = params.pessoa

// lista 1 a ser percorrida
for (inf i=0; i < contador; i++){
//declarações
// aqui preciso fazer uma validação, caso não passe no texte preciso abortar todo o processo save e deixar uma mensagem na tela que houve erro e deixar a tela no mesmo estado que estava antes de o usuário clicar em salvar
for (int j=0; j< dias) {
//declarações
// validações
}
}
if (erros.size()) {
flash.message = "erro ao salvar"
render(view:'create', model.[....])
} else {
flase.message="Salvo com sucesso!!"
redirect(action:"create", params:[...])
}
}

espero que possam me ajudar.
Obrigado !!
Tags: render, continue, abort


0
ops, não é texte e sim teste..rs..
10/07/2013 13:58


1
Se você olhar nos codigos que o scaffold gerar tera mais exemplos, mas um jeito que voce poderia fazer é

if (erro) {
flash.message = message(code: 'default.any.message', args: [message(code:
'any.label', default: 'any'), params.id])
redirect(action: "any")
return
}


0
Legal Bruno, na verdade eu estava quase acertando..rs.. eu estava fazendo assim
if ((primeiroDia == null || segundoDia == null)&& (params["automatico[$i]"] )) {
flash.message = "Você precisa selecionar ao menos 2(dois) turnos para o funcionário(a): "+funcionario
render(view:"create", model:[params:params])
}

foi colocar o "return" após o render que funcionou.
Obrigado !!

abraços
10/07/2013 20:22



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