我正在使用JSR-303的Apache Bean Validation实现,并且很奇怪是否有一种方法可以将消息附加到ValidationMessages.propeties文件中定义的默认消息.
I.E. @NotNull(message =“Object objectField name {message}”)
输出:Object objectField name不能为null
消息只会附加默认消息
这可能使用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}")
这看起来非常冗长.
最佳答案 不,没有办法做到这一点.
有关更多信息,请参阅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)会做到这一点.