Spring Boot:如何在自定义验证中将自定义名称添加到嵌套对象的字段

时间:2018-09-10 10:05:13

标签: hibernate spring-boot hibernate-validator

我目前在Spring Boot中使用自定义验证器来验证嵌套实体对象。但是,我不希望将entityName.fieldName显示为无效的输入错误消息,而是希望仅嵌套对象fieldName。 例如,两个实体是User和Address,如下所示:

User{
@NotEmpty
String name;
@Valid 
Address address;
// getters/setters
}

Address{
@NotEmpty
String street;
@NotEmpty
String lane;
// getters/setters
}

现在,当我验证用户并且没有在街道上填写地址实体时,会出现如下错误:

invalid input: address.street

但不是这个错误,我想要这样:

invalid input: street

有没有办法做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以创建一个客户MessageInterpolator。

在此处阅读有关消息内插的更多信息:

https://docs.jboss.org/hibernate/validator/6.0/reference/en-US/html_single/#chapter-message-interpolation