#grails #grails-constraints
#grails #grails-ограничения
Вопрос:
В Grails при использовании 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
}
}
Этот способ не работает, и когда предоставляется более длинная строка, проверка проходит. Мои знания о Grails очень поверхностны. Как я могу ограничить унаследованные свойства?
Ответ №1:
Проблема LENGTH_MAX
заключалась в константе. Предоставление значения напрямую заставляет проверку снова работать.
class FacebookTextContentCommand extends TextContentCommand {
static constraints = {
importFrom TextContentCommand
payload maxSize: 4
}
}