@NotNull,@NotBlank和 @NotEmpty使用


1.實體類

package com.example;


import org.hibernate.validator.constraints.NotBlank; 
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.util.List;

/*
    @NotNull    驗證對象是否不為null, 無法查檢長度為0的字符串
    @NotBlank 檢查約束 (字符串) 是不是Null還有被Trim的長度是否大於0,只對字符串,且會去掉前后空格.
    @NotEmpty 檢查(集合)約束元素是否為NULL或者是EMPTY.
    ********上面導入的是兩個包******
*/
public class Student {
    @NotNull(message = "用戶ID不能為空")
    private Long userID;
    @NotEmpty(message = "地址不能為空")
    private List<String> addressID;
    @NotBlank(message = "備注不能為空")
    private String comment;

    public Student() {
    }
    public Long getUserID() {
        return userID;
    }
    public void setUserID(Long userID) {
        this.userID = userID;
    }
    public List getAddressID() {
        return addressID;
    }
    public void setAddressID(List addressID) {
        this.addressID = addressID;
    }
    public String getComment() {
        return comment;
    }
    public void setComment(String comment) {
        this.comment = comment;
    }
    @Override
    public String toString() {
        return "Order{" +
                "userID=" + userID +
                ", addressID=" + addressID +
                ", comment='" + comment + '\'' +
                '}';
    }

}

 

2.Controller

    @RequestMapping("/create")
    @ResponseBody
    public String create(@RequestBody @Valid Student dto, BindingResult results) {
        if (results.hasErrors()) {
            return results.getFieldError().getDefaultMessage();
        }
        return dto.toString();
    }

3.postman測試

 

 json對象

{
"addressID":["address1","address2","address3"],
"comment":"備注...",
"userID":100
}

 

 總結:  1.注意注解引用的包不一樣

   2. @NotEmpty 用在集合類上面
    @NotBlank 用在String上面
    @NotNull    用在基本類型上

 

 

 

 

 
       


免責聲明!

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



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