我有一个域类:
class Book {
String id
Date dateCreated
Date lastUpdated
String title
boolean acceptPolicy // defines if the user accepts the terms and privacy poicy
String uploadImageId
static transients = [ "acceptPolicy" ]
static constraints = {
acceptPolicy( validator: { val, obj -> val == true} )
}
}
我选择“acceptPolicy”作为不应存储在数据库中的字段。当我创建一个书籍对象时,一切都可以找到。更新图书实例时会出现此问题。每次我尝试保存时,我都会收到“acceptPolicy”的验证错误。这不应该是这种情况,因为“acceptPolicy”没有存储在数据库中。我也尝试设置
acceptPolicy = true
在隐藏的输入字段中但仍会出现此问题。我该如何解决?
答案 0 :(得分:3)
更改验证程序并使其行为,以便它只在实体尚未持久时验证acceptPolicy字段:
acceptPolicy( validator: { val, obj -> obj.id || val } )