1. 程式人生 > >使用javax.validation.constraints包的註解實現校驗

使用javax.validation.constraints包的註解實現校驗

一、新增maven依賴包

 <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
      <version>1.1.0.Final</version>
    </dependency>

二、在校驗欄位上新增校驗註解

class Profile{
        @NotNull(message = "欄位值不能為空")
        private String name;
        @NotNull
        private String sex;
        @Max(value = 20,message = "最大長度為20")
        private String address;
        @NotNull
        @Size(max=10,min=5,message = "欄位長度要在5-10之間")
        private String fileName;
        @Pattern(regexp = "^[a-zA-Z0-9_.-]
[email protected]
[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$",message = "不滿足郵箱正則表示式") private String email; @AssertTrue(message = "欄位為true才能通過") private boolean isSave; @Future(message = "時間在當前時間之後才可以通過") private Date date; }

三、在Controller層使用@Validated進行驗證

@RequestMapping("file/upload")
 public void upload(@RequestPart("files") MultipartFile files, @Validated Profile profile, Errors error) throws IOException {
       if(error.hasErrors()){
           return;
       }
       files.transferTo(new File(files.getOriginalFilename()));////儲存檔案
}