0

Config.groovyReportのプロパティにクラスを追加して、クラスを検証可能にしました。grails.validateable.classes

class Report {

    /* fields */
    Product product

    static constraints = {
        product nullable: true, validator: { val ->
            if(val && val.quantity > 0) {
                return (val.code && val.locations.size() > 0)
            }
        }
    }
}

class Product {
    BigDecimal quantity
    String code
    List<Location> locations
}

それで、Report呼び出して a を検証しようとしますreport.validate()が、validate常に true を返します。カスタムバリデータを作成してみました:

...
product validator: { val ->
    return false
}

validateaを呼び出すとReport常に false が返されますが、それでも true が返され、インスタンスが有効になります。私が知る限り、 Validateable にされたクラスのカスタムバリデーターは、 を呼び出すときに呼び出されませんvalidate

これは既知のバグですか? もしそうなら、私はどこにも参照を見つけることができません。Validateable になっているクラスにカスタム バリデータを使用することはできませんか? または、私のコードに何か問題がありますか?

編集:タイプミスを修正しました。grails.validateable.classesの代わりにする必要がありますgrails.validateable.class

4

0 に答える 0