本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

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

网络教程 app 1℃

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

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

转载请注明:范的资源库 » SpringBoot表单验证错误信息无法显示在页面上怎么办?

喜欢 (0)