zoukankan      html  css  js  c++  java
  • BindingResult

    BindingResult是用于接收前一个参数校验(validate或valid)错误信息, 前端将不再显示错误信息
    statusCode == 200, 后端也不会抛出异常

    如果想要跳转到错误页面, 使用@ResponseStatus指定code和reason, 或是抛出一个异常

        @ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "参数请求错误")
        @ResponseBody
        @RequestMapping("/test2")
        public String test2(@Validated User user, BindingResult result) {
            //判断是否有error
            if (result.hasErrors()) {
                int errorCount = result.getErrorCount();
                log.info("异常个数=" + errorCount);
                //获取全局与属性的错误
                //result.getAllErrors();
                //只获取属性校验的错误
                for (FieldError fieldError : result.getFieldErrors()) {
                    log.info("message:" + fieldError.getDefaultMessage());
                }
            }
            System.out.println(user);
            return "test2";
        }
    

    将校验的错误信息返回到前端

        @ResponseBody
        @RequestMapping("/test4")
        public Map<String, Object> test5(@Validated User user, BindingResult result) {
            Map<String, Object> model = null;
            if (result.hasErrors()) {
                model = result.getModel();
            }
            System.out.println(user);
            return model;
        }
    
  • 相关阅读:
    找到排序矩阵中从小到大第K个数字
    使用VSCODE开发UE4
    UE4添加模块
    游戏串流
    DIY Arduino 方向盘
    免费/开源软件推荐
    把引擎插件变成工程插件
    MergeActors技巧
    烘焙卡在99%
    UMG里没有"Prefab"怎么办?
  • 原文地址:https://www.cnblogs.com/kikochz/p/12819082.html
Copyright © 2011-2022 走看看