Bean验证:如何以编程方式本地化消息?

时间:2014-03-01 19:55:15

标签: java validation java-ee jax-rs bean-validation

在我目前的休息服务方案中,我需要能够向个别客户提供本地化的错误消息。

想一下像void validate(Locale locale)这样的方法,它在接收一些请求时会在参数对象上调用。

可以从http标头中挤出语言环境信息。

如何在插入违规消息时指示/配置验证器使用某种语言?

据我所知,验证者通过调用Locale.getDefault()来选择使用过的Locale。

到目前为止,除了this文章之外,我找不到任何与我的需求完全不符合的文章(这个故事太长,无法说明)。

提前致谢!

1 个答案:

答案 0 :(得分:4)

根据spec,您有两种可能性:

使用interpolate(String, Context, Locale)或 实施custom message interpolator

  

可以提供自定义消息插补器(例如,插入上下文数据,或调整使用的默认语言环境)。

另见: