0

Grails 2.xのドメインクラスとしてこのようなものがあると仮定します

class CurrentReading {

    DateTime timestamp
    Sensor sensor
    Integer valueInt
    Boolean valueBool
    Float valueFloat

    static constraints = {
        timestamp blank: false 
        sensor blank: false
    }

}

valueIntプロパティの1valueFloatつだけが設定されていることを確認できる、すぐに使用できる GORM / 検証機能はありますvalueBoolか?

でいくつかの実験を行いましgrails install-plugin constraintsたが、追加のドメイン プロパティをカスタム バリデータに渡すことができませんでした。

4

1 に答える 1

0

あなたはこのようなことをする必要があります:

static constraints = {
    type inList:['Foo', 'Bar', 'FooBar']
    idStr blank: false, validator: { val, obj ->
        def result
        if(obj.type == "FooBar") {
            result = val =~ /[a-zA-Z]{2}[0-9]{8}/
        } else if(['Foo', 'Bar'].contains(obj.type)) {
            result = val =~ /\d+/
        }
        result.matches()
    }
}
于 2013-01-08T16:20:35.147 に答える