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

wufei123 发布于 2025-01-09 阅读(17)

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

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

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

原因:

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

解决方案:

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

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

@PostMapping
public 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表单验证错误信息无法显示在页面上怎么办?的详细内容,更多请关注知识资源分享宝库其它相关文章!

标签:  表单 错误信息 验证 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。