根据hibernate验证文档,可以在错误消息中相应替换{min}和{max}参数的情况下完成以下操作。
@Size(
min = 2,
max = 14,
message = "The license plate must be between {min} and {max} characters long"
)
我在Spring应用程序中使用此表示法但这些参数未被替换。 我回来了“牌照必须介于最小和最大字符之间”
我是否需要以不同方式配置验证器才能使其正常工作?
这是我的配置:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
<property name="useCodeAsDefaultMessage" value="true"/>
</bean>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource"/>
</bean>
答案 0 :(得分:0)
我找到原因。它是由属性&#34; useCodeAsDefaultMessage&#34;引起的,我们无法将其设置为&#34; true&#34;,只需使用默认值&#34; false&#34;。似乎如果是真的,只需从&#34; basenames&#34;中的属性文件中获取消息,并且不要使用类路径根路径中的默认消息文件或&#34; org /冬眠/验证&#34 ;!