[英]grails domain class validator + set unique constraint according to field values?
有沒有辦法編寫一個自定義驗證器,根據字段值執行不同的驗證?
例如
class myModel{
A a;
B b;
String prop
static belongsTo:[m:myModel]
constraints{
prop(validator:{
val,obj->
if (obj.a== null){
unique:[b,prop]
}
else{
unique:[a,b,prop]
}
})
}
}
我對此很困惑。
提前致謝
雖然不是最優雅的解決方案,但這應該有效:
static constraints = {
prop(validator: { val, obj ->
if(obj.a == null) {
return !myModel.findWhere(b: obj.b, prop: val)
} else {
return !myModel.findWhere(a: obj.a, b: obj.b, prop: val)
}
})
}
我不相信有一種方法可以根據屬性值有條件地驗證唯一性,而無需手動執行查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.