一、pom文件引入
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.2.4.Final</version> </dependency>
二、參數類的get方法上面加注解
public class TokenCommand { private String appId; private String appKey; @Pattern(regexp = "^\\w{6,20}$", message = "appkey length 6-20") public String getAppKey() { return appKey; } public void setAppKey(String appKey) { this.appKey = appKey; } @NotBlank(message = "appid not blank") @Length(min = 6, max = 20, message = "appid length 6-20") public String getAppId() { return appId; } public void setAppId(String appId) { this.appId = appId; } }
三、
@RequestMapping("/token") public String token(@ModelAttribute @Valid TokenCommand tokenCommand, BindingResult bindingResult){ if(bindingResult.hasErrors()){ StringBuffer stringBuffer = new StringBuffer(); for (ObjectError objectError : bindingResult.getAllErrors()) { //收集錯誤信息 stringBuffer.append(objectError.getDefaultMessage()); } return String.valueOf(stringBuffer); } return tokenCommand.getAppId(); }
補充:
可以使用的注解
@Null 被注釋的元素必須為 null
@NotNull 被注釋的元素必須不為 null
@AssertTrue 被注釋的元素必須為 true
@AssertFalse 被注釋的元素必須為 false
@Min(value) 被注釋的元素必須是一個數字,其值必須大於等於指定的最小值 @Max(value) 被注釋的元素必須是一個數字,其值必須小於等於指定的最大值 @DecimalMin(value) 被注釋的元素必須是一個數字,其值必須大於等於指定的最小值
@DecimalMax(value) 被注釋的元素必須是一個數字,其值必須小於等於指定的最大值 @Size(max=, min=) 被注釋的元素的大小必須在指定的范圍內 @Digits (integer, fraction) 被注釋的元素必須是一個數字,其值必須在可接受的范圍內
@Past 被注釋的元素必須是一個過去的日期
@Future 被注釋的元素必須是一個將來的日期
@Pattern(regex=,flag=) 被注釋的元素必須符合指定的正則表達式
@NotBlank(message =) 驗證字符串非null,且長度必須大於0
@Email 被注釋的元素必須是電子郵箱地址
@Length(min=,max=) 被注釋的字符串的大小必須在指定的范圍內
@NotEmpty 被注釋的字符串的必須非空