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;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM