Я использовал для доступа Grails 2 ограничений в моем GSP так:Grails 3 Доступ к Grails ограничения домена во время выполнения
${MyDomainClass.constraints.myProperty.inList.collect{it.name()}}
Это не работает в Grails 3 больше
Я использовал для доступа Grails 2 ограничений в моем GSP так:Grails 3 Доступ к Grails ограничения домена во время выполнения
${MyDomainClass.constraints.myProperty.inList.collect{it.name()}}
Это не работает в Grails 3 больше
в Grails 3.0 домен и командные объекты используют признак grails.validation.Validateable
(Источник не найден here). Эта черта дает вам доступ к ограничениям, предоставляя следующий метод.
static Map<String, ConstrainedProperty> getConstraintsMap();
Чтобы получить доступ к ограничениям, вызываемым этим методом в вашем домене или объекте команды. В следующем примере обращается ограничение nullable
на свойство объектов домена, которое называется day
.
domainObject.getConstraintsMap()['day']['nullable']
Итак, из того, что я понимаю, для класса домена это будет 'static Map
Таким образом, который был действителен в Grails 2, до сих пор работает ...
grailsApplication.getArtefact('Domain',
'MyDomainClass').getConstrainedProperties().myProperty.inList.collect{it.name()}
На самом деле доступ был изменен в Grails 3, введя черты. – saw303
ОК, что будет grailsApplication.getArtefact ('Домен', 'MyDomainClass'). GetConstrainedProperties(). MyProperty.inList.collect {it.name()} – Exdevfr
Вы должны поместить свой комментарий в ответ с ссылку на документацию Grails, подтверждающую разницу. Таким образом, будущие читатели могут легко найти этот ответ. – Nathan