使用javax.validation.constraints包的註解實現校驗
阿新 • • 發佈:2018-12-10
一、新增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()));////儲存檔案
}