Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ValidationMessages.properties实现java bean验证的国际化_Java_Validation_Internationalization_Hibernate Validator - Fatal编程技术网

使用ValidationMessages.properties实现java bean验证的国际化

使用ValidationMessages.properties实现java bean验证的国际化,java,validation,internationalization,hibernate-validator,Java,Validation,Internationalization,Hibernate Validator,如何国际化JavaBean验证 在国际化之前,我有(类似)以下验证错误消息: 电子邮件不是有效的电子邮件地址(某个不存在的用户[at]无效。电子邮件) 根据:可以创建ValidationMessages.properties文件来国际化文本 例如,如果我添加了内容(将其保留为英语以用于说明,这应该是另一种语言) org.hibernate.validator.constraints.Email.message=是无效的电子邮件格式 现在,这将创建以下验证错误: 电子邮件是无效的电子邮件格式(某个

如何国际化JavaBean验证

在国际化之前,我有(类似)以下验证错误消息:

电子邮件不是有效的电子邮件地址(某个不存在的用户[at]无效。电子邮件)

根据:可以创建ValidationMessages.properties文件来国际化文本

例如,如果我添加了内容(将其保留为英语以用于说明,这应该是另一种语言)

org.hibernate.validator.constraints.Email.message=是无效的电子邮件格式

现在,这将创建以下验证错误:

电子邮件是无效的电子邮件格式(某个不存在的用户[at]无效.email)

因此,这似乎只给了我一小部分文本的控制权,但我如何定制例如
was
部分?并且可以完全控制整个文本?比如:

{property}无效(数据={value})

这会给我


电子邮件无效(data=某个不存在的用户[at]invalid.email)

如果您无法通过本地化属性文件执行所需操作,则可能需要创建自己的MessageInterpolator


请参见第4.3.2节的

,换言之,如果不使用您自己的MessageInterpolator,就无法进一步定制消息?是的,根据我的阅读,似乎就是这样。基本上有一个默认的插值器,它只为你做这么多。更复杂的事情由你决定。。但也许有人把一些开源的东西放在那里供你使用。我没查过。您可以做的另一件事是将containtViolation对象与失败的值匹配,并向消息中添加一些内容。换句话说,对消息进行后期处理。我以前做过,恐怕您需要创建一个包装的
MessageInterpolator