Localization 如何本地化Bean验证消息
我有一个类,并使用注释来验证类属性 我的网页(jsf2.2/primefaces/maven)是多语言的(deutch、FR rench、IT alian) 我的问题是hibernate验证器支持某些语言(de、en、es、fr、hu、tr、pt_BR、mn_mn、zn_CN),但不支持意大利语!(列在jar中,org->hibernate->validator) 因此,当我使用意大利语版本的网页时,验证消息以英语显示(默认选择hibernate) 我如何覆盖它,并提供自定义的意大利验证消息Localization 如何本地化Bean验证消息,localization,bean-validation,hibernate-validator,Localization,Bean Validation,Hibernate Validator,我有一个类,并使用注释来验证类属性 我的网页(jsf2.2/primefaces/maven)是多语言的(deutch、FR rench、IT alian) 我的问题是hibernate验证器支持某些语言(de、en、es、fr、hu、tr、pt_BR、mn_mn、zn_CN),但不支持意大利语!(列在jar中,org->hibernate->validator) 因此,当我使用意大利语版本的网页时,验证消息以英语显示(默认选择hibernate) 我如何覆盖它,并提供自定义的意大利验证消息 我
我不想弄乱hibernate jar,因为项目是maven,jar是自动获取的。您可以通过放置
ValidationMessages_it_IT.properties
在你的课堂路径上
这个问题是的翻版,它在不干扰hibernate jar的情况下成功地解决了这个问题
如果要覆盖默认的
验证消息.properties
:
ValidationMessages.properties
,
ValidationMessages\u de.properties
,
ValidationMessages\u fr.properties
)并相应地编辑它们src/main/resources
文件夹中。所以
该文件夹包含所有*.properties文件ValidationMessages\u it.properties
并将其放在src/main/resources
文件夹中。(src/main/resources/ValidationMessages\u it.properties
)/src/main/java
文件夹中
将属性文件放在src/main/resources文件夹下,它们应命名为
ValidationMessages{locale code}.properties
,默认为ValidationMessages.properties
,内容如下所示:
invalid.phone.number = Invalid phone number
然后在你的bean中:
@Pattern(regexp = "^[0-9]+[0-9\\-]{3,}[0-9]+$", message = "{invalid.phone.number}")
private String number;
不需要提取任何东西。只需添加所需或要覆盖的属性文件。它们需要位于类路径的根中。用户提供的ValidationMessages属性文件优先于内置文件。