【发布时间】:2016-04-11 16:34:56
【问题描述】:
我遇到了一个与此处描述的非常相似的验证问题
https://schneide.wordpress.com/2010/09/20/gorm-gotchas-validation-and-hasmany/
但有一个重要区别是我的域中没有(或不想要)List<Element> elements 字段。我的代码是
class Location {
static hasMany = [pocs: LocationPoc]
Integer id
String address
String city
State state
String zip
...
static mapping = {
...
}
static constraints = {
def regEx = new RegEx()
address blank: true, nullable: true, matches: regEx.VALID_ADDRESS_REGEX
city blank: true, nullable: true
state blank: true, nullable: true
zip blank: true, nullable: true
...
}
}
但是,如果我使用双层 POC(联系点)保存/更新位置,我会遇到一些疯狂的错误。我想在保存/更新位置时验证 POC,但我不确定如何。我已经尝试了一些变体
pocs validator: {
obj -> obj?.pocs?.each {
if (!it.validate()) {
return false
}
}
return true
}
无济于事。如果不在我的域List<LocationPoc> pocs 上创建新字段,这是否可行?
【问题讨论】:
-
pocs validator: { val, obj, err -> val?.each { if (!it.validate()) return false; ...} }不适合你? -
使用
val, obj, err -> val?.each成功了!非常感谢。我以为我在正确的轨道上。
标签: validation grails