如何在Hibernate Validator

时间:2016-10-17 22:46:59

标签: java hibernate-validator

我正在使用hibernate-validator 5.3.0。

以下是我的@NotNull约束函数,我正在对方法参数进行验证。

public void test(@NotNull String firstName, @NotNull String lastName) {

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator();
    ....
}

在阅读this问题后,我发现可以使用以下格式在ValidationMessages.properties文件中放置自定义错误消息:

[ConstraintName].[ClassName].[FieldName]=[Message] 

例如

NotNull.TestClass.name=My Custom Message

但是,当您尝试验证某些类字段时,这会有效。

是否可以使用此格式或其他格式并为方法参数创建自定义错误消息?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您是否查看了消息注释参数? 如果您想使用它,可以提供自己的自定义消息,例如:

public void test(@NotNull(message = "My custom message for first name") String firstName, @NotNull String lastName) {

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator();
    ....
}

或者如果您需要多次重复使用相同的消息,可以像在问题中所说的那样将其添加到ValidationMessages.properties中,稍后在代码中执行以下操作:

public void test(@NotNull(message = "{my.custom.message.key}") String firstName, @NotNull String lastName) {

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator();
    ....
}

在您的ValidationMessages.properties中,您将拥有:

my.custom.message.key=My custom message goes here

您可以在这里找到所需的一切 - spec