spring-mvc - Spring MVC 5.*:使用 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。
这就对了。
如果想要一次验证页面,那么我认为有必要单独运行验证方法。为此,我在stackoverflow上找到了一些答案:
- 可以使用@Valid 和验证组(休眠)
- validate() 中基于当前页面或其他内容的简单切换案例
- 在一个正在填充的对象中嵌套对象,以及此处描述的多个验证器https://docs.spring.io/spring/docs/5.2.6.RELEASE/spring-framework-reference/core.html#validator
推荐阅读
- database - 如何从 PostgreSQL 的单个/多个表中备份特定数据?
- java - 为什么我的 ListView 使我的应用程序崩溃而不是列出我的条目?
- xml - 节点提取
- python - 为什么 Pythons ThreadPoolExecutor 会抑制所有异常以及如何解决这个问题?
- angular - 如何在 primeNg 多选中动态更新 defaultLabel
- .net - RESTful API 设置排序顺序
- sql - oracle sql group by 空字符串
- vue.js - Jest 找不到 core-js 模块
- javascript - 检查始终在 React Native 中启用或未启用位置服务(iOS 和 Android 两者)
- react-native - 如何在本机反应中查看没有名称对象的对象?