Для доступу до обмежень grails 2 у моєму gsp, подібному до цього:
${MyDomainClass.constraints.myProperty.inList.collect{it.name()}}
В Grails 3 він більше не працює
Відповіді:
1 для відповіді № 1У домені Grails 3.0 і об'єктах команди використовується ознака grails.validation.Validateable
(Джерело можна знайти тут). Ця ознака дає вам доступ до обмежень, надаючи наступний метод.
static Map<String, ConstrainedProperty> getConstraintsMap();
Щоб отримати доступ до обмежень, ви називаєте цей метод вашим доменом або об'єктом команди. Наступний приклад звертається до nullable
обмеження на властивість доменних об'єктів викликається day
.
domainObject.getConstraintsMap()["day"]["nullable"]
0 для відповіді № 2
Цей шлях, який був дійсний у Grails 2, все ще працює ...
grailsApplication.getArtefact("Domain",
"MyDomainClass").getConstrainedProperties().myProperty.inList.collect{it.name()}