1

在 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 的了解非常肤浅。如何限制继承的属性?

4

1 回答 1

0

常数LENGTH_MAX导致了问题。直接提供值会使验证再次工作。

class FacebookTextContentCommand extends TextContentCommand {

    static constraints = {
        importFrom TextContentCommand
        payload maxSize: 4
    }
}
于 2016-10-02T10:24:46.417 回答