利用hibernate-validator 手動校驗pojo屬性

有時我們需要手動校驗pojo參數,而不在spring的容器內通過入參這種方式

同時希望能使用jsr-303 ,這時我們可以使用hibernate-validator 手動校驗,並且hibernate-validator  就是jsr-303的實現者

pojo

public class SettleInfo {
    @NotNull
    private Integer id;
    private String name;
    private Date birth;
}

 校驗代碼:


import com.jpush.model.SettleInfo;
import org.apache.commons.collections4.CollectionUtils;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.groups.Default;
import java.util.Set;

public class Client {
    public static void main(String[] args) {
        Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
        SettleInfo settleInfo = new SettleInfo();
        Set<ConstraintViolation<SettleInfo>> validateSet = validator.validate(settleInfo, Default.class);
        if (CollectionUtils.isNotEmpty(validateSet)) {
            for (ConstraintViolation<SettleInfo> constraintViolation : validateSet) {
                System.out.println(constraintViolation.getPropertyPath().toString()+"==="+constraintViolation.getMessage());
            }
        }

    }
}

結果,可以發現校驗正常生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章