請求參數驗證(2)-hibernate-validator


一、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   被注釋的字符串的必須非空 

 


免責聲明!

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



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