Spring Boot 页面渲染时无法获取Controller中验证错误信息怎么办?

spring boot 验证错误信息在 controller 中存在,而在页面渲染时无法获取

问题:

在 spring boot 应用中,controller 中的验证错误信息存在,但在页面渲染时,这些信息无法在页面上成功显示。

可能的原因:

对象名称错误

确保在页面模版中使用的对象名称与添加到模型中的对象名称相同。检查 user.html 模版中 th:object 属性的值,并确保它与你在 controller 中添加到模型中的对象名称一致。

值找不到

检查模版中使用的字段名称是否与模型中的对象内字段的名称匹配。例如,如果模型中对象的 name 字段为空,则需要使用 th:errors="*{name}" 而不是 th:erro

rs="*{username}"。

修改的代码:

假设你发现模版中使用的对象名称错误,并且将 th:object 属性值从 testuser 更正为 testuser,修改后的 user.html 模版如下:

... Name Error ...