/ / Grails 3 Accès aux contraintes du domaine Grails au moment de l’exécution - Grails, Gorm, Grails-3.0

Grails 3 Accès aux contraintes de domaine Grails lors de l'exécution - Grails, Gorm, Grails-3.0

J'avais l'habitude d'accéder à 2 contraintes dans mon gsp grails comme ceci:

${MyDomainClass.constraints.myProperty.inList.collect{it.name()}}

Cela ne fonctionne plus dans Grails 3

Réponses:

1 pour la réponse № 1

Dans Grails 3.0, le domaine et les objets de commande utilisent le trait grails.validation.Validateable (La source peut être trouvée ici). Ce trait vous donne accès aux contraintes en fournissant la méthode suivante.

static Map<String, ConstrainedProperty> getConstraintsMap();

Pour accéder aux contraintes, vous appelez cette méthode sur votre domaine ou votre objet de commande. L'exemple suivant accède à la nullable contrainte sur une propriété d'objets de domaine appelée day.

domainObject.getConstraintsMap()["day"]["nullable"]

0 pour la réponse № 2

De cette façon, qui était valable dans Grails 2, fonctionne toujours ...

grailsApplication.getArtefact("Domain",
"MyDomainClass").getConstrainedProperties().myProperty.inList.collect{it.name()}

voir API GrailsDomainClass