我有一個問題,我的域類有兩個潛在的互斥外部鍵,序列號或傳統查找值。如何爲Grails域類中的兩個字段創建和異或驗證?
因爲我不確定哪一個我會有任何給定的條目,我已經讓他們都可以爲空,並添加自定義驗證,以確保我有一個且只有一個值。
package myproject
class Sample {
String information
String legacyLookup
String serialNumber
static constraints = {
information(nullable: true)
legacyLookup(nullable: true)
serialNumber(nullable: true)
legacyLookup validator: {
return ((serialNumber != null && legacyLookup == null) || (serialNumber == null && legacyLookup != null))
}
serialNumber validator: {
return ((serialNumber != null && legacyLookup == null) || (serialNumber == null && legacyLookup != null))
}
}
}
我創建的默認CRUD屏幕,並試圖爲此域創建類
information: Blah Blah
serialNumber:
legacyLookup: BLAHINDEX123
這死在驗證以下消息的條目:
No such property: serialNumber for class: myproject.Sample
我是什麼失蹤?
這正是我所需要的。我在想,我需要在兩個領域明確驗證,但一個處理另一個領域。謝謝! – GeoGriffin 2012-07-15 02:21:17