gpt4 book ai didi

inheritance - 如何在grails域子类中对继承的属性添加约束

转载 作者:行者123 更新时间:2023-12-03 11:29:27 24 4
gpt4 key购买 nike

这是我想做的:

class A {
String string
static constraints = {
string(maxSize:100)
}
}

class B extends A {
static constraints = {
string(url:true)
}
}

因此,类A应该具有一些约束 ,而类B应该具有相同属性的加上其他约束。

我无法使它正常工作,并且我可以想象它会与“逐层表”概念冲突。

因此,我尝试通过引入具有类B约束的Command对象来解决该问题,可以在类B的构造函数中对其进行验证。但是,似乎Command对象只能在 Controller 内使用(一直说没有.validate。 ()方法)。

所以我的问题是:使用grails约束(不手动重新执行验证)解决此问题的最优雅方法是什么?可能...
  • 切换到“每个子类表格”的概念吗?
  • 使Command Object以某种方式在Domain类中工作?
  • 还有其他方法吗?

  • 编辑:对我来说,可以在子类中定义所有约束,重复父类的约束,甚至根本不具有父类的约束。但是该解决方案应该适用于同一父类的多个子类(具有不同的约束)。

    最佳答案

    您可以使用

        class B extends A {
    static constraints = {
    importFrom A
    //B stuff
    }
    }

    作为 http://grails.org/doc/latest/ref/Constraints/Usage.html中的州

    关于inheritance - 如何在grails域子类中对继承的属性添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934146/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com