【问题标题】:Extended Grails command object constraints validation扩展的 Grails 命令对象约束验证
【发布时间】:2012-12-19 12:51:32
【问题描述】:

在 Grails 中有以下命令对象:

class commandA implements commandObjectType {
    String a

    static constraints = {
        a blank: false
    }
}

class commandB extends commandA {
    String b
}

如何在 commandB 对象中的 b 上实现自定义字段验证?据我所知,不可能覆盖或以其他方式更改闭包..

无论如何都可以这样做吗?我尝试在闭包中“转移”,但没有成功。是否可以以任何方式指定与字段一致的验证器?

【问题讨论】:

    标签: validation grails groovy closures command-objects


    【解决方案1】:

    我不确定共享约束是否适用于命令对象,但您可以尝试以下方法:

    class commandB extends commandA {
        String b
    
        static constraints = {
            importFrom commandA
        }
    }
    

    请参阅有关 constraints usage 的 Grails 文档。

    【讨论】:

    • 它可能适用于不涉及继承的情况。
    【解决方案2】:

    只需像往常一样在 commandB 中定义“约束”块,并使用“b”字段的验证规则。验证应该适用于“a”和“b”字段。

    【讨论】:

    • 不,这是不可能的。另外,如果你想一想 - 你不能必须关闭同名的。它抛出MissingMethodException..
    • @Hoof 你可以在父类和子类中都有 static 同名的属性,没有一个“覆盖”另一个的概念保持静止。
    • @Ian,好吧,我不知道。然而,它并没有改变这样一个事实,即它不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多