在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的了解非常肤浅。如何限制继承的属性?
答案 0 :(得分:0)
常量LENGTH_MAX
导致问题。直接提供值会使验证再次发挥作用。
class FacebookTextContentCommand extends TextContentCommand {
static constraints = {
importFrom TextContentCommand
payload maxSize: 4
}
}