未找到验证消息

Posted

技术标签:

【中文标题】未找到验证消息【英文标题】: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")? 【参考方案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 然后显示在视图中..

以上是关于未找到验证消息的主要内容,如果未能解决你的问题,请参考以下文章

MessageBird - 未找到消息

验证有效,但未显示消息

Angular 10 中未显示验证消息

Django 表单验证消息未显示

必需的验证错误消息未以 jquery 弹出模式形式显示

iOS Safari:默认验证气泡消息未正确对齐