Bind de domain objects dentro de Command Objects
17/01/2013 17:49
0
Olá pessoal, minha dúvida é a seguinte:
no códipo de exemplo abaixo eu tenho uma action "createNew" que receberá o POST de um form para criar um novo objeto de um domain no banco.

Esstou fazendo o bind por command object, e isto está funcionando. Porém a validação dá sempre o erro de "o campo myDomain não pode ser nulo" o que faz sentido pq devido ao input-hidden myDomain.id estar vazio o objeto é nulo sim.

Porém, como é uma criação de um novo objeto eu ainda não tenho o id, logo, eu queria que ele validasse ignorando o id nessa caso que é um create e no caso que for update ele faça o bind e considere tudo.

Não sei se fui claro, mas...alguém pra me ajudar?
vlw!

//classe controlador

.
.
def createNew = {MyCommand cmd ->

if(cmd.validate()){
cmd.myDomain.save(flush:true)
}else {
//render erros
}
.
.
.
}

class MyCommand {
MyDomain myDomain
String otherInput
static constraints {
myDomain nullable: false, validate: { it?attached }
}
}
Tags: commandObject validation


0
Como que está definida as constraints para o id no dominio "MyDomain"?
17/01/2013 22:18


0
Olá tiag, pro ID não há, não precisa certo? tenho apenas no mapping pra tabela do banco


Class MyDomain {
String name
String comments
String status
String objective
String notes

static constraints = {
name unique:true, maxSize:100, blank:false
status blank:false, nullable:false
comments nullable:false
objective widget:'textarea', nullable:true
notes widget:'textarea', nullable:true
}

static mapping = {
id column:'id', generator:'sequence', params: [sequence:'tab_my_domain_id_seq']
table 'tab_my_domain'
name unique:true, maxSize:100, nullable:false
objective type:'text', nullable:false
comments type:'text', nullable:true
notes type:'text', nullable:true
status blank:false, nullable:false
version false
sort "name"
}
}
18/01/2013 12:05



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