使继承约束更严格

时间:2016-10-02 09:09:30

标签: grails grails-constraints

在Grails中使用CommandObjectsDomainClass时如何限制继承属性的约束?

假设我有一个非空属性payload的父类:

abstract class TextContentCommand extends ContentCommand {

    String payload

    static constraints = {            
        payload nullable: false
    }

在子类中,我希望使属性更严格并设置最大长度:

class FacebookTextContentCommand extends TextContentCommand {

    public static final int LENGTH_MAX = 4

    static constraints = {
        importFrom TextContentCommand
        payload maxSize: LENGTH_MAX
    }
}

这种方式不起作用,当提供更长的字符串时,验证通过。我对Grails的了解非常肤浅。如何限制继承的属性?

1 个答案:

答案 0 :(得分:0)

常量LENGTH_MAX导致问题。直接提供值会使验证再次发挥作用。

class FacebookTextContentCommand extends TextContentCommand {

    static constraints = {
        importFrom TextContentCommand
        payload maxSize: 4
    }
}