如果注释本身没有定义这样的消息模板,我将如何着手为约束(在 JPA 实体中)生成默认消息模板。
这就是我的意思。假设我有一个 JPA 实体“虚拟”:
@Entity
public class Dummy {
@Column
@NotNull
Long id;
}
另外,假设我有一个 ValidationMessages.properties 文件,其中包含:
Dummy.id.NotNull=ID of dummy should not be null
现在,如果我将@NotNull 约束定义为@NotNull(message={Dummy.id.NotNull}) 一切都会很好,但是如果我想动态生成'{Dummy.id.NotNull}' 模板怎么办(使用反射)所以我不必在每个约束上编写相同的标准化模板?我使用 MessageInterpolator 类进行了尝试,但是只有在定义了 message 属性时才会调用插值方法,这违背了我想要做的事情的目的。
所以,为了让自己清楚,我如何让验证器询问我的代码块“嘿,在类 'Dummy' 中的字段 'id' 上的约束 'NotNull' 的消息是什么,即使它没有分配消息(或者更确切地说,它分配了默认消息)?”