当前位置: 首页 > 知识库问答 >
问题:

Hibernate验证器:冲突消息语言

侯向文
2023-03-14

我有一个测试类,在那里我测试一个用@NotNull注释的域模型

private static Validator validator;

@BeforeClass
public static void setup() {
    validator = Validation.buildDefaultValidatorFactory().getValidator();
}
Set<ConstraintViolation<Person>> violations = validator.validate( aPerson );
String violationMessage = violations.iterator().next().getMessage()
hibernate-validator-5.3.5.Final.jar
    - org
        - hibernate
            - validator
                ...
                ResourceBundle 'Validation Messages'

在这个资源包中,支持相当多的语言(英语、德语、法语……)

@NOTNULL违反德语消息

javax.validation.constraints.NotNull.message     = darf nicht null sein
javax.validation.constraints.NotNull.message     = may not be null

当我在测试时,我如何强制Hibernate验证器为来自资源包的冲突消息选择特定的语言?现在,我收到英文违规信息。然而,在另一个机器德国。

共有1个答案

姬英武
2023-03-14

GKR的答案是正确的。

可能有用的其他信息:如果您正在使用Maven和surefire插件,您需要执行以下操作:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <forkMode>once</forkMode>
        <argLine>-Duser.language=en</argLine>
    </configuration>
</plugin>
 类似资料:
  • 我试图覆盖默认的Hibernate验证器消息,但没有成功。我已经为几个文本使用了一个资源包,它工作得很好。问题在于验证器的消息。 详细内容: 我创建了以下文件:ValidationMessages\u de.properties并将其放置在\src\main\resources\translations\ValidationMessages\u de.properties下。该文件具有以下资源:o

  • 我无法使用Spring MVC 4.2.5版本来处理hibernate validation 5.1.0.Final。 我的WebConfig: 我有一个ExceptionHanlder,它获取验证消息,并将其作为JSON推回: 在controller中,我使用@org.springframework.validation.annotation.validated。 PS2.我确信我的messag

  • 根据有关消息插值步骤的文档,消息参数(包含在“”中的参数)在计算消息表达式(包含在“”中的参数)之前被解析。因此,我得出结论,允许写这样的消息: 并且期望其键为或的消息文本为结果,其中和被假定为有效的消息键,并且在正确引导的资源束中已经定义了消息键。 为了澄清问题,我使用TestNG编写了一个测试用例,并在hibernate-validator-5.0.1.final和hibernate-vali

  • 我想覆盖服务器faces web应用程序中的默认Hibernate验证程序消息,因此我阅读了这部分文档:https://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/chapter-message-interpolation.html#section-消息插值 我在文件夹中创建了两个文件:和。文件内容为: 我使用的是德语版本

  • 我有一个问题,我最初认为是regex错误,但我推断出这是material datepicker如何将日期字符串作为完整的日期对象而不是输入中显示的日期的字符串版本放入输入中的问题,从而引发验证消息。 下面是我如何使用它,然后是两个屏幕截图,显示相同的日期未能通过日期选择器验证,如果日期选择器被删除/注释掉并简单地键入输入,则传递该日期。 使用DatePicker

  • 问题内容: 我在这里尝试了答案中的步骤:HibernateValidator,自定义ResourceBundleLocator和Spring 但是仍然只是作为输出而不是消息。 dispatcher-servlet.xml /WEB-INF/validationMessages.properties: 表格(上课地点) 这是怎么了 问题答案: 得到它了!:-) 我在我的计算机中添加了以下bean而不