gpt4 book ai didi

spring-boot - Spring boot + Thymeleaf 自定义错误信息

转载 作者:行者123 更新时间:2023-12-01 11:29:17 26 4
gpt4 key购买 nike

我正在将 Spring Boot 和 thymeleaf 用于 Web 应用程序。

我想自定义验证错误消息而不是使用默认消息。我发现这样做的方法是创建一个名为 messages.properties 的文件,其中包含约束和消息。我还发现我可以根据我的目标类创建自定义消息,我也可以使用基于此的国际化方法。

为了覆盖默认消息,我创建了自己的 messages.properties 文件:

Size.message=El tamño no es correcto
NotNull.message=No puede ser nulo
Min.message=No cumple con el minimo

我在类里面设置了约束:
public class Person {

@Size(min=2, max=30)
private String name;

@NotNull
@Min(value = 18L)
private Integer age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}
}

这是我的表格:
<form action="#" th:action="@{/form}" th:object="${person}" method="post">

<table>
<tr>
<td>Name:</td>
<td><input type="text" th:field="*{name}"/></td>
<td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name error</td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" th:field="*{age}"/></td>
<td th:if="${#fields.hasErrors('age')}" th:errors="*{age}">Name error</td>
</tr>
<tr>
<td>
<button type="submit">Enviar</button>
</td>
</tr>
</table>

</form>

我将 messages.properties 放在资源文件夹中:

enter image description here

根据这些链接,我做得对:

Thymeleaf : How to use Custom Message Key in JSR-303 Annotation

How to include message.properties with thymeleaf

但它仍然没有显示我写的自定义错误消息。

有什么建议吗?
在此先感谢您的帮助。

包含示例代码的 GitHub: https://MichaelKnight@github.com/MichaelKnight/ValidandoFormularios.git

最佳答案

因为您使用的是 JSR-303 验证器,所以您应该将您的消息放置到名为 ValidationMessages.properties 的文件中。 JSR-303 提供程序(在本例中为 hibernate-validator)默认查找此文件(根据规范)。

详情见:https://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html/chapter-message-interpolation.html

关于spring-boot - Spring boot + Thymeleaf 自定义错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com