आम तौर पर एक Grails डोमेन या कमांड कक्षा के लिए, आप अपनी बाधाओं की घोषणा करते हैं और ढांचे validate()
विधि जोड़ता है जो जांचता है कि इनमें से प्रत्येक बाधा वर्तमान उदाहरण के लिए मान्य है या नहीं।कस्टम Grails सत्यापन
class Adult {
String name
Integer age
void preValidate() {
// Implementation omitted
}
static constraints = {
name(blank: false)
age(min: 18)
}
}
def p = new Person(name: 'bob', age: 21)
p.validate()
मेरे मामले में मुझे यकीन है कि preValidate
हमेशा से पहले वर्ग मान्य है निष्पादित किया जाता है बनाना चाहते हैं। मैं customValidate
बजाय validate
कॉल करने के लिए एक विधि
def customValidate() {
preValidate()
validate()
}
लेकिन फिर जो कोई इस वर्ग का उपयोग करता है याद करने की जरूरत है जोड़कर इस लक्ष्य को हासिल कर सकते हैं। मैं ऐसा नहीं कर सकते या तो
def validate() {
preValidate()
super.validate()
}
क्योंकि validate
माता पिता वर्ग की एक विधि (यह metaprogramming से जोड़ दिया जाता है) नहीं है। क्या मेरा लक्ष्य हासिल करने का कोई और तरीका है?