我需要更改hibernate-validator使用的@NotNull
消息。
使用ValidationMessages.properties中的一行成功完成了此操作,例如:javax.validation.constraints.NotNull.message=my validation message
。
但是,这并不是什么需要。将遗漏有关原因的详细信息,但所有这些消息都应来自单个messages.properties文件,其目的不仅是验证,还包括其他消息。
我们说messages.properties最初包含一个属性CCCI_0001=my generic message
。是否有可能以某种方式将messages.properties中的此属性值替换为ValidationMessages.properties中的占位符?
答案 0 :(得分:2)
您可以做的是使用自定义ValidatorFactory
引导您的MessageInterpolator
。如果您乐意使用Hibernate Validator特定功能,可以使用ResourceBundleLocator
- 请参阅http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-custom-message-interpolation。看起来有点像这样:
Validator validator = Validation.byDefaultProvider()
.configure()
.messageInterpolator(
new ResourceBundleMessageInterpolator(
new PlatformResourceBundleLocator( "MyMessages" )
)
)
.buildValidatorFactory()
.getValidator();