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