/ / ग्रिल्स 3 रनिंग के समय ग्रिल्स डोमेन की बाधाएं - ग्रेनल्स, गॉर्म, ग्रेल्स-3.0

Grails 3 रनटाइम पर Grails डोमेन बाधाओं तक पहुंच - grails, छात्रावास, grails-3.0

मैं इस तरह से अपने gsp में 2 बाधाओं का उपयोग करता था:

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

यह ग्रिल्स 3 में अब और काम नहीं करता है

उत्तर:

उत्तर № 1 के लिए 1

ग्रिल्स में 3.0 डोमेन और कमांड ऑब्जेक्ट विशेषता का उपयोग कर रहे हैं grails.validation.Validateable (सोर्स मिल सकता है यहाँ)। यह विशेषता आपको निम्नलिखित विधि प्रदान करके बाधाओं की पहुँच प्रदान करती है।

static Map<String, ConstrainedProperty> getConstraintsMap();

आप अपने डोमेन या कमांड ऑब्जेक्ट पर उस विधि को कॉल करने के लिए बाधाओं का उपयोग करने के लिए। निम्न उदाहरण तक पहुँचता है nullable एक डोमेन ऑब्जेक्ट्स प्रॉपर्टी पर बाधा कहा जाता है day.

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

जवाब के लिए 0 № 2

इस तरह, जो 2 ग्रेड में मान्य था, अभी भी काम करता है ...

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

GrailsDomainClass API देखें