我正在使用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}")
这看起来非常冗长。
答案 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)会做到这一点。