Validação na classe Controller
30/09/2008 00:00
0
Olá pessoal, estou com o seguinte problema, na minha classe Controller. No evento update, tenho a seguinte regra de validação e atribuição de valores a variáveis:

def update = {
def advogado = Advogado.get( params.id )

if(advogado) {
advogado.properties = params

if("${params.Foro} == 'C'"){
advogado.ADV_ATUA_CIVEL = 'S'
advogado.ADV_ATUA_FAMILIA = '0'
advogado.ADV_ATUA_INFCIVEL = '0'
advogado.ADV_INFJUVCRIM = '0'
advogado.ATV_ATUA_CRIMINAL = '0'
advogado.ADV_ATUA_JURI = '0'
advogado.ADV_ATUA_JUIZESPCRIMINAL = '0'
advogado.ADV_ATUA_JUIZESPCIVEL = '0'
advogado.ADV_ITINERANTE = '0'
advogado.ADV_ATUA_JUSTMILITAR = '0'
}

else

if ("${params.Foro} == 'F'") {
advogado.ADV_ATUA_FAMILIA = 'S'
advogado.ADV_ATUA_CIVEL = '0'
advogado.ADV_ATUA_INFCIVEL = '0'
advogado.ADV_INFJUVCRIM = '0'
advogado.ATV_ATUA_CRIMINAL = '0'
advogado.ADV_ATUA_JURI = '0'
advogado.ADV_ATUA_JUIZESPCRIMINAL = '0'
advogado.ADV_ATUA_JUIZESPCIVEL = '0'
advogado.ADV_ITINERANTE = '0'
advogado.ADV_ATUA_JUSTMILITAR = '0'
}

if(!advogado.hasErrors() && advogado.save()) {
flash.message = "Advogado ${params.id} updated"
redirect(action:show,id:advogado.id)
}
else {
render(view:'edit',model:[advogado:advogado])
}

}


//Meu exemplo de campo select

<g:select name=&quot;Foro&quot; keys=&quot;${['C', 'F'}&quot;
from=&quot;${['Civel','Familia']}&quot;>
</g:select>

De acordo com o que recebo no meu campo select, vou atribuir um valor aos atributos acima.
Meu problema é que isso tudo tá estranho, pois quando ele cai no segundo &quot;if&quot; nada é atribuído aos atributos, ou seja, ela não grava nada no banco como era pra ser feito.

Já passaram por isso antes? Existe uma forma mais inteligente de fazer essa validação sem que ocorra esses problemas
Tags: Grails


0
como esta a classe advogado ?

só uma duvida, por que vc usa


if(&quot;$&#123;params.Foro&#125; == 'C'&quot;)&#123;


ao inves de :


if(params.Foro == 'C')&#123;


Herrera
30/09/2008 00:00


0
Obrigado Herrera, tb consegui de outra forma, só não sei se é a correta, que é através da definição de uma variável qualquer no qual passo como parâmetro o valor da minha variável que recebo da minha página, exemplo:

def t = &quot;${params.Foro}&quot;


obrigado mesmo assim...

valeu
30/09/2008 00:00



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