【问题标题】:Using parameters for messages in Spring validation annotations在 Spring 验证注解中使用消息参数
【发布时间】:2011-10-12 17:06:59
【问题描述】:

在这种为我的命令类的属性添加验证约束的代码中:

@NotBlank(message="{xxx.constraints.username.required}")

如何将参数传递给消息?其实我希望消息是一个模板,可以吗?

谢谢!

【问题讨论】:

  • 我迟到了将近 4 年,但我仍然对你如何解决这个问题感兴趣。
  • 我希望我记得!使用最新的 Spring 版本没有简单的方法可以轻松完成吗?在消息中使用 {0}、{1} 等作为占位符并找到在注解中传递参数的方法?

标签: java spring validation annotations


【解决方案1】:

我认为你最好的选择是使用SpEL(Spring 表达式语言)。

@NotBlank(message="#{T(com.my.package.MyUtil).getMessage()}")

上面会从com.my.package.MyUtil类调用一个静态方法getMessage()

【讨论】:

  • 其实我更多的是想像 然后在 ValidationMessages.properties 我会有 xxx。 constraints.username.required=一些文本 {0] 和 {1} blah blah
  • 看看 Spring EL。它可能能够满足您的需求。我在回答中发布的内容只是 one 可以使用 SpEL 完成的一个示例。
猜你喜欢
  • 2015-03-17
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
相关资源
最近更新 更多