Spring Boot表单验证错误信息无法显示在页面上怎么办?

spring boot表单验证错误信息无法显示在页面上怎么办?

spring boot验证错误信息无法在渲染页面时正确显示

通过controller操作验证信息时,错误信息会在controller中正常存在,但在渲染页面时却无法正常获取。这往往是因为:

原因:

在controller中,可以通过使用errors对象获取验证错误信息,并将其添加到模型中。而在页面中,使用thymeleaf语法通过#fields表达式访问错误信息。如果页面中无法获取错误信息,可能是由于以下原因:

解决方案:

根据问题提供的代码,可以发现问题出在模型中存在两个testuser对象。在处理表单提交时,controller中将参数testuser添加到模型中,而在页面中,通过th:object属性绑定了错误信息。如果两个testuser对象名称不同,页面将无法找到正确的对象并获取验证错误信息。

因此,需要修改testusercontroller中添加模型的方式,确保添加到模型中的对象名称与页面中th:object绑定的名称相同。修改后的代码如下:

@PostMappingpublic String register(@Valid TestUser testUser, Errors errors) {    if (errors.hasErrors()) {        return "user";    }       return "redirect:/";}@ModelAttribute(name = "testUser")public TestUser testUser() {    return new TestUser();}

登录后复制

另外,还可以检查thymeleaf页面中是否正确使用了#fields表达式。确保th:if和th:errors属性正确引用了需要显示错误信息的字段。

修改代码并检查表达式后,页面中的错误信息应该会正常渲染。

以上就是Spring Boot表单验证错误信息无法显示在页面上怎么办?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2608431.html

(0)
上一篇 2025年3月6日 20:38:56
下一篇 2025年3月6日 08:29:45

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论