gpt4 book ai didi

grails - 如何对 grails 上的域字段应用新验证

转载 作者:行者123 更新时间:2023-12-02 14:22:34 24 4
gpt4 key购买 nike

我有这个域:

class Foo {
static hasMany=[
bars: Bar
]

String name

static constraints = {
name(blank: false, unique: true)
}
}

将值插入数据库后,我为条形图添加了另一个验证
bars(nullable: false, validator: {value, object ->
if(value.isEmpty()){
return['bars.empty.validation.error']
}
})

现在,当我尝试更新没有条形保存的 Foo 实例时,会在字段 bars 上提示:
Field error in object 'Foo' on field 'bars': rejected value [[Bar : (unsaved)]]

我的问题 是如何更新 Foo没有 bars 的实例

最佳答案

您可以将自定义验证更改为仅适用于没有 id 的实例。与它们相关联(表明它们正在被插入而不是更新)。比如这样:

bars(nullable: false, validator: {value, object ->
if (object?.id) return // don't apply to previously saved instance.
if(value.isEmpty()){
return['bars.empty.validation.error']
}
})

关于grails - 如何对 grails 上的域字段应用新验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com