【问题标题】:Grails transient property not validating error?Grails瞬态属性不验证错误?
【发布时间】:2012-12-09 18:43:54
【问题描述】:

我有一个域类:

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 

在隐藏的输入字段中,但仍然会出现此问题。我该如何解决?

【问题讨论】:

    标签: mongodb grails grails-orm grails-domain-class


    【解决方案1】:

    更改验证器并使其行为,使其仅在实体尚未持久化时验证acceptPolicy字段:

     acceptPolicy( validator: { val, obj -> obj.id || val } )
    

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      相关资源
      最近更新 更多