0

ドメインクラスが1つあります

class Store{
    String name
    Store hierarchy
    Date dateCreated
    Date lastUpdated
    static hasMany=[storeRestrictions:StoreRestrictions]
    boolean isBillable
    boolean isConsignment
    boolean isMassUploadPossible

    static constraints = {
        name(nullable:false,blank:false,maxSize:50,unique:true)
        hierarchy(nullable:true,blank:true)
        dateCreated()
        lastUpdated()
        isBillable()
        isMassUploadPossible()
        storeRestrictions(nullable:false)
    }
}

たとえば、の検証を変更して、trueの場合に次のようになるようにする方法はbeforeInsertありますか?beforeUpdateisConsignmentstoreRestrictionsnullable:true

4

2 に答える 2

0

カスタムバリデーターはあなたの必要条件にとって正しいものだと思います。storeRestrictionsのnullable:true制約を、isConsignment値をチェックするカスタムバリデーターに置き換えることができます

于 2012-06-19T10:51:41.627 に答える
0

代わりにこれを行います:

static constraints = {
    ...
    storeRestrictions(validator: {field, inst -> 
                                    if( false == isConsignment) 
                                        return null != inst.storeRestrictions
                     )
}

Grails Validatorで詳細を読む

于 2015-02-17T15:55:49.517 に答える