Spring MVC 5.*:使用 Validator 进行向导表单验证

Spring MVC 5.*: Wizard Forms validation with Validator

我正在创建一个多页表单应用程序。我想使用Validator接口来验证用户提供的内容。

问题:这种 https://mkyong.com/spring-mvc/spring-mvc-handling-multipage-forms-with-abstractwizardformcontroller/ 方法在 Spring MVC 5.2.* 方面是否仍然有效?

Ofc,我们应该暂时忘掉 AbstractWizardFormController。

并回答我自己的问题: 你不必这样做。通常验证器会在页面切换之前捕获错误。基本上,需要按照此处 https://docs.spring.io/spring/docs/5.2.6.RELEASE/spring-framework-reference/core.html#validator 所述实施验证器。然后用

绑定到控制器
    @InitBinder
    public void initBinder(WebDataBinder binder) {
        binder.setValidator(<validaotrs_variable_name>);
    }

然后在@ModelAttribute("myobjectnameintemplate") MyPojo myPojo 上使用@Validated。

就是这样。

如果想一次验证一个页面,那么我觉得有必要运行分别验证方法。为此,我在 Whosebug 上找到了一些答案:

  1. 可以使用@Valid 和验证组 (Hibernate)
  2. 基于当前页面或其他内容的 validate() 中的简单切换案例
  3. 正在填充的一个对象中的嵌套对象,以及此处所述的多个验证器https://docs.spring.io/spring/docs/5.2.6.RELEASE/spring-framework-reference/core.html#validator