我正在使用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
但是,当您尝试验证某些类字段时,这会有效。
是否可以使用此格式或其他格式并为方法参数创建自定义错误消息?
提前致谢。
答案 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