5

1つの整数フィールドが他の整数フィールド以上でなければならないというドメインクラス制約をGrailsで記述する必要があります。

私がこのようなコードを書くとき:

class MyDomain {

 String title
 int valueMin = 1
 int valueMax = 1

 static constraints = {
  valueMin(min:1)
  valueMax(min:valueMin)
 }
}

エラーが発生しました:

Caused by: groovy.lang.MissingPropertyException: No such property: valueMin for class: MyDomain

何か考えてください。

4

2 に答える 2

10

http://grails.org/doc/latest/ref/Constraints/validator.html

This should more or less work (not tested)

class MyDomain {

 String title
 int valueMin = 1
 int valueMax = 1

 static constraints = {
  valueMin(min:1)
  valueMax(validator:{
    value, reference ->
    return value > reference.valueMin
  })
 }
}
于 2010-01-08T14:27:25.400 に答える
2

制約は静的変数にのみアクセスできる静的なコードブロックであるため、これは機能しません。

したがって、必要に応じて、独自にカスタマイズしたcosntraintを作成できます。次のリンクを参照してください:http: //grails.org/doc/latest/guide/single.html#7。検証

于 2010-01-08T13:59:39.980 に答える