Java 自定义Spring验证消息,而不向每个批注添加属性
我正试图使用Java 自定义Spring验证消息,而不向每个批注添加属性,java,spring,hibernate,validation,Java,Spring,Hibernate,Validation,我正试图使用ValidationMessages.properties文件来提供默认的验证错误消息,但无需向数百个生成的注释中添加message=“{some.prop}”。具体来说,我希望在属性文件中可以使用某种自动(或设置自动)键来覆盖任何类上任何字段的默认消息,而无需在每个注释上手动定义message=属性,我希望能够使用类似于org.foo.GeneratedPOJO.foo=my message的东西来将GeneratedPOJO类中的字段foo作为目标,而无需将message属性添加
ValidationMessages.properties
文件来提供默认的验证错误消息,但无需向数百个生成的注释中添加message=“{some.prop}”
。具体来说,我希望在属性文件中可以使用某种自动(或设置自动)键来覆盖任何类上任何字段的默认消息,而无需在每个注释上手动定义message=
属性,我希望能够使用类似于org.foo.GeneratedPOJO.foo=my message
的东西来将GeneratedPOJO类中的字段foo作为目标,而无需将message属性添加到源代码中
背景:
我使用的是Spring Boot 2.3.4.0版本。我的应用程序严重依赖于生成的代码(不是jar,我有源文件)。我无法编辑生成器。生成的代码包含许多POJO,其中包含许多简单的验证检查,例如:
class GeneratedPOJO {
@JsonProperty("fooId")
private String fooID;
@Pattern(regexp="^(none|single|multi)$")
public String getFooId() {
return fooID;
}
}
我正在自定义错误消息。我已经添加了一个ValidationMessages.properties
文件,如果我手动编辑生成的注释,例如@Pattern(message=“{GeneratedPOJO.Foo},regexp=…
并添加相应的属性(GeneratedPOJO.Foo=some message
),我确实会收到关于验证错误的错误消息
因此,默认设置似乎工作正常,我只是希望我可以让它在任何地方工作,而不需要数百次编辑,如果我们重新运行代码生成,这些编辑将需要重新应用