Validation 扩展Grails命令对象约束验证

Validation 扩展Grails命令对象约束验证,validation,grails,groovy,closures,command-objects,Validation,Grails,Groovy,Closures,Command Objects,在Grails中具有以下commandobjects: class commandA implements commandObjectType { String a static constraints = { a blank: false } } 及 如何在commandB对象中的b上实现自定义字段验证?据我所知,不可能覆盖或以其他方式更改闭包 这件事能在任何情况下完成吗?我试过在一次结束中“转移”,但没有成功。。是否可以以任何方式在字段中指定验证器

在Grails中具有以下commandobjects:

class commandA implements commandObjectType {
    String a

    static constraints = {
        a blank: false
    }
}

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


这件事能在任何情况下完成吗?我试过在一次结束中“转移”,但没有成功。。是否可以以任何方式在字段中指定验证器?

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

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

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

class commandB extends commandA {
    String b

    static constraints = {
        importFrom commandA
    }
}

请参阅有关的Grails文档。

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

class commandB extends commandA {
    String b

    static constraints = {
        importFrom commandA
    }
}

请参阅Grails文档,了解。

No,这是不可能的。另外,如果你在一分钟内想一想,你就不必使用相同名称的闭包。它抛出
MissingMethodException
。@Hoof您可以在父类和子类中拥有同名的
static
属性,当它们是静态的时,没有一个“重写”另一个的概念。@Ian,好的,我不知道这一点。然而,这并不能改变它不起作用的事实。不,这是不可能的。另外,如果你在一分钟内想一想,你就不必使用相同名称的闭包。它抛出
MissingMethodException
。@Hoof您可以在父类和子类中拥有同名的
static
属性,当它们是静态的时,没有一个“重写”另一个的概念。@Ian,好的,我不知道这一点。但是,这并没有改变它不起作用的事实。它可能在不涉及继承的情况下起作用。它可能在不涉及继承的情况下起作用。