【问题标题】:Validation message not found未找到验证消息
【发布时间】:2015-04-22 09:24:57
【问题描述】:

我正在尝试为我的 bean 验证实现自定义错误消息。 我已经用验证规则 @Size( min = 2, max = 40, message = "errors.firstName.size" ) 注释了我的字段 firstName

在我的message.properties 中,我添加了一个消息密钥errors.firstName.size=First Name must be between {min} and {max} chars。然而,在我的 Thymeleaf 生成的视图中,只出现了消息键(如屏幕截图所示)。

【问题讨论】:

  • 您可以为您的 thymeleaf HTML 页面添加代码吗?
  • 这是th:errors = "*{__${field}__}"视图中的部分。
  • 不确定这个语法。您是否尝试过不进行预处理(例如th:errors = "*{field}")?

标签: spring validation internationalization spring-boot thymeleaf


【解决方案1】:

尝试将您的消息密钥放入ValidationMessages.properties 而不是message.properties

ValidationMessages 资源包和它的语言环境变体 资源包包含覆盖默认验证的字符串 消息。 ValidationMessages 资源包通常是 默认包中的属性文件 ValidationMessages.properties 应用程序。

来源:http://docs.oracle.com/javaee/6/tutorial/doc/gkahi.html

另外,验证注解应该是@Size(min = 2, max = 40, message = "{errors.firstName.size}")as heRoy said

【讨论】:

  • 这工作很好!谢谢!唯一让我烦恼的是ValidationMessages.properties 必须放在resources 文件夹中。
【解决方案2】:

尝试将花括号添加到您的消息键中,如下所示:

@Size(min = 2, max = 40, message = "{errors.firstName.size}")

【讨论】:

  • 谢谢!但这并不能解决问题:( {errors.firstName.size} 然后显示在视图中..
猜你喜欢
  • 1970-01-01
  • 2016-03-29
  • 2015-08-28
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
相关资源
最近更新 更多