【问题标题】:Grails domain class constraints for relation between fields用于字段之间关系的 Grails 域类约束
【发布时间】:2010-01-08 13:28:41
【问题描述】:

我需要在 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

有什么想法吗?

【问题讨论】:

    标签: grails constraints grails-validation


    【解决方案1】:

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

    这应该或多或少的工作(未测试)

    class MyDomain {
    
     String title
     int valueMin = 1
     int valueMax = 1
    
     static constraints = {
      valueMin(min:1)
      valueMax(validator:{
        value, reference ->
        return value > reference.valueMin
      })
     }
    }
    

    【讨论】:

      【解决方案2】:

      这行不通,因为约束是一个静态代码块,只能访问静态变量。

      因此,您可以根据需要编写自己的自定义 cosntraint:查看此链接: http://grails.org/doc/latest/guide/single.html#7。验证

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-09
        • 1970-01-01
        • 2018-11-16
        • 2011-11-26
        相关资源
        最近更新 更多