Obtendo constraints de atributos
24/09/2013 20:20
0
Boa tarde pessoal,
Antes de mais nada, parabéns pelo site, é bastante útil!
comecei a estudar grails a 1 semana, e estou tentando criar uma nova constraint para exibir ou não no list.gsp um determinado atributo.
1) Ja existe alguma constraint ou alguma maneira pronta de definir isto?
2) tentei usar o getAppliedConstraint('nome_da_minha_contraint') e colocar um if no scafold para definir se o atributo será exibido ou não, mas não está funcionando pq o domainClass.constraints.getAt('value') não está pegando minha constraint, apenas blank, nullable e inList (não cheguei a testar todas, mas ja vi que unique ele tbm não está capturando também), ai meu if não está dando certo. Podem me dar um help?

não encontrei a definição do método getAppliedConstraint(), alguém sabe qual é?
sabem se existe algum método melhor para ser usado para se obter todas as contraints de um atributo ou saber se uma determinada constraint foi definida para ele bem como seu valor?
Tags: constraints, getAppliedConstraint


0
Pessoal,
Consegui resolver com um colega aqui, usamos domainClass.constrainedProperties[], em seguida getAppliedConstraint('minhaConstraint').
antes estavamos usando domainClass.getConstrainedProperties, não sei pq não estava funfando, mas usando o domainClass.constrainedProperties[], deu certo.
25/09/2013 15:05


0
Pessoal,
Acho que não era bem o que pensei, mudei várias coisas e no final acabei não sabendo ao certo o que funcionou...
De qualquer forma, fazer o que descrevi no post assima por si só não deu certo, foi necessário registrar a constraint tbm para poder usa-la: ConstrainedProperty.registerNewConstraint("nome_constraint", nome_classe_constraint).

Se alguém que tem um conhecimento maior puder explicar melhor acho que seria excelente. Sei que funcionou, mas não estou muito seguro do "por que".

Abs.
25/09/2013 17:54


0
Não intendi direito o que você está tentando fazer.
As constraints são utilizadas no metodo validate() das classes de dominio.

Quando voce registrou sua constraint
ConstrainedProperty.registerNewConstraint("nome_constraint", nome_classe_constraint)

isso significa que voce pode configurar sua classe de dominio utilizando este nova constraint que voce acabou de registra por exemplo:

Pessoa{
String nome

static constraints = {
nome nome_constraint: true
}
}


Quando for executado o metodo validate() e nao passar nas validacoes este metodo te retornara false

de uma olhada nestes fontes acho que vai te ajudar a entender melhor:https://github.com/leandrogehlen/grails-br-validation



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