2010-01-08 13 views
5

मुझे Grails में डोमेन क्लास बाधा लिखने की आवश्यकता है जो कहता है कि एक पूर्णांक फ़ील्ड दूसरे से अधिक या बराबर होना चाहिए।फ़ील्ड के बीच संबंधों के लिए ग्रेल्स डोमेन क्लास बाधाएं

जब मैं इस तरह कोड लिखने:

class MyDomain { 

String title 
int valueMin = 1 
int valueMax = 1 

static constraints = { 
    valueMin(min:1) 
    valueMax(min:valueMin) 
} 
} 

मैं त्रुटि हो रही है:

Caused by: groovy.lang.MissingPropertyException: No such property: valueMin for class: MyDomain 

किसी भी विचार, कृपया?

उत्तर

8

http://grails.org/doc/latest/ref/Constraints/validator.html

यह कम या ज्यादा काम (परीक्षण नहीं) चाहिए

class MyDomain { 

String title 
int valueMin = 1 
int valueMax = 1 

static constraints = { 
    valueMin(min:1) 
    valueMax(validator:{ 
    value, reference -> 
    return value > reference.valueMin 
    }) 
} 
} 
+0

धन्यवाद। यह वास्तव में वह समाधान है जिसे मैंने पहले ही पाया है। –

2

यह काम नहीं करेगा, क्योंकि बाधाएं कोड का स्थिर ब्लॉक हैं जो केवल स्थिर चर तक पहुंच होगी।

तो, यदि आप चाहें तो अपना खुद का अनुकूलित कॉन्टेंट्रेन लिख सकते हैं: इस लिंक पर एक नज़र डालें: http://grails.org/doc/latest/guide/single.html#7। मान्यता

संबंधित मुद्दे