1

私はドメインクラスを持っています:

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」を選択しました。book オブジェクトを作成すると、すべてが機能します。book インスタンスを更新すると問題が発生します。保存しようとするたびに、「acceptPolicy」の検証エラーが発生します。「acceptPolicy」はデータベースに保存されていないため、これは当てはまりません。私も設定しようとしました

acceptPolicy = true 

非表示の入力フィールドにありますが、それでもこの問題は発生します。どうすれば修正できますか?

4

1 に答える 1

3

Change the validator and make it behave so that it only validates the acceptPolicy field when the entity is not yet persistent:

 acceptPolicy( validator: { val, obj -> obj.id || val } )
于 2012-12-09T21:31:28.913 に答える