Java笔记-使用BindingResult把表单错误传出来

目录

 

基本概念

演示及代码


 

基本概念

这里在特别是在提交表单数据的数据很常见,当提交的数据不完整的时候,也要回Json,并且把错误代码发出来,这里就的使用

BindingResult。

 

演示及代码

正确的例子:

当少一个key和value时:

此时会有Message。

服务器里面:

使用异常,这样也增强了程序的方便,和健壮,方便使用。

程序结构如下:

代码如下:

TestController.java

package parademo.demo.controller;  import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import parademo.demo.enums.ResultEnum; import parademo.demo.exception.TestException; import parademo.demo.form.TestForm;  import javax.validation.Valid;  @RestController @RequestMapping("/test") public class TestController {      @PostMapping("/create")     public String create(@Valid TestForm form,                          BindingResult bindingResult){          if(bindingResult.hasErrors()){              throw new TestException(ResultEnum.ERROR_ONE.getCode(),                     bindingResult.getFieldError().getDefaultMessage());         }         System.out.println(form);          return "呵呵哒";     }      @PostMapping("/create2")     public String create2(@RequestParam("name") String name,                           @RequestParam("phone") String phone){          System.out.println("name: " + name + "   " + "phone: " + phone);         return "呵呵呵";     } } 

ResultEnum.java

package parademo.demo.enums;  import lombok.Getter;  @Getter public enum  ResultEnum {      ERROR_ONE(1, "错误一"),     ERROR_TWO(2, "错误二"),     ERROR_THREE(3, "错误三"),     ERROR_FOUR(4, "错误四");      private Integer code;     private String message;      ResultEnum(Integer code, String message){          this.code = code;         this.message = message;     } } 

TestException.java

package parademo.demo.exception;  public class TestException extends RuntimeException{      private Integer code;     public TestException(){      }      public TestException(Integer code, String message){          super(message);         this.code = code;     } }