java - Bean 验证 : How to localize messages programmatically?

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

在我当前的休息服务场景中,我需要能够向各个客户端提供本地化的错误消息。

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

locale 信息可以从 http headers 中挤出。

当违规消息被插入时,我如何指示/配置 validator 使用某种语言?

据我所知, validator 通过调用 Locale.getDefault() 选择使用的 Locale。

到目前为止,我找不到除this 以外的任何内容。文章不完全符合我的需要(故事太长无法讲述)。

提前致谢!

最佳答案

根据spec你有两种可能性:

使用interpolate(String, Context, Locale)或者 实现 custom message interpolator .

A custom message interpolator may be provided (e.g., to interpolate contextual data, or to adjust the default Locale used).

另见:

关于java - Bean 验证 : How to localize messages programmatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119545/

相关文章:

java - 配置 IBM Websphere Mq 服务器和 Java 客户端以创建 SSL 连接

java - 声明类型不能为 null

java - 使用 NumberFormat 将美分转换为欧元

java - 在Java中列出文件的最佳方法,按修改日期排序?

java - 带有双边框和渐变的android按钮

java - 除了 Jackson 之外,还有其他东西可以在 Java 中处理复杂的对象吗?

django - 模型验证 : can I access ValidationError code?

java - Tomcat - 请求的资源不可用 - IntelliJ IDEA - Java EE

java - session 结束后可以安全地存储对实体 Bean 的引用吗?

java - LibGDX圆形物体不断滚动