Сделать унаследованные ограничения более строгими
В Граале при использовании 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
}
}