Сделать унаследованные ограничения более строгими

В Граале при использовании CommandObjects или же DomainClass Как я могу ограничить ограничение наследуемого свойства?

Скажем, у меня есть родительский класс с ненулевым свойством 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
    }
}

Этот способ не работает, и когда предоставляется более длинная строка, проверка проходит. Мои знания Грааля очень поверхностны. Как я могу ограничить унаследованные свойства?

1 ответ

Постоянная LENGTH_MAX был причиной проблемы. Providing the value directly makes the validation work again.

class FacebookTextContentCommand extends TextContentCommand {

    static constraints = {
        importFrom TextContentCommand
        payload maxSize: 4
    }
}
Другие вопросы по тегам