JSR-303附加默认验证消息

时间:2011-05-12 20:36:12

标签: java validation bean-validation

我正在使用JSR-303的Apache Bean Validation实现,并且好奇是否有办法将消息附加到ValidationMessages.propeties文件中定义的默认消息。

即。 @NotNull(message="Object objectField name {message}")

输出:对象objectField名称不能为空

消息只会附加默认消息

这是否可以使用Apache Bean Validation 0.3或Hibernate Validation 4.1.0-Final API ???

或者我被迫做这样的事情:

ValidationMessage.properites
javax.validation.constraints.NotNull.message=may not be null

代码:

@NotNull(message="Object objectField name {javax.validation.constraints.NotNull.message}")

这看起来非常冗长。

1 个答案:

答案 0 :(得分:2)

没有。没有办法做到这一点。

有关详细信息,请参阅JSR-303的4.3.1.1节。

你可以这样做:

ValidationMessage.properties

custom.message=Object objectField name {javax.validation.constraints.NotNull.message}

代码

@NotNull(message="{custom.message}")

得到你想要的东西。自定义消息属性(根据JSR)应该以递归方式解析。我不知道Apache Validator目前的兼容性如何,但我可以告诉你,Hibernate Validator(符合100%TCK)会做到这一点。