hibernate validation 手动参数校验 不经过spring

Posted valarchie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate validation 手动参数校验 不经过spring相关的知识,希望对你有一定的参考价值。

/**
 * 校验工具类
 * @author wdmcygah
 *
 */
public class ValidationUtils {

    private static Validator validator =  Validation.buildDefaultValidatorFactory().getValidator();
    
    public static <T> ValidationResult validateEntity(T obj){
        ValidationResult result = new ValidationResult();
         Set<ConstraintViolation<T>> set = validator.validate(obj,Default.class);
         if( CollectionUtils.isNotEmpty(set) ){
             result.setHasErrors(true);
             Map<String,String> errorMsg = new HashMap<String,String>();
             for(ConstraintViolation<T> cv : set){
                 errorMsg.put(cv.getPropertyPath().toString(), cv.getMessage());
             }
             result.setErrorMsg(errorMsg);
         }
         return result;
    }
    
    public static <T> ValidationResult validateProperty(T obj,String propertyName){
        ValidationResult result = new ValidationResult();
         Set<ConstraintViolation<T>> set = validator.validateProperty(obj,propertyName,Default.class);
         if( CollectionUtils.isNotEmpty(set) ){
             result.setHasErrors(true);
             Map<String,String> errorMsg = new HashMap<String,String>();
             for(ConstraintViolation<T> cv : set){
                 errorMsg.put(propertyName, cv.getMessage());
             }
             result.setErrorMsg(errorMsg);
         }
         return result;
    }
}

 

以上是关于hibernate validation 手动参数校验 不经过spring的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate-validate工具类,手动调用校验返回结果

hibernate-validator验证请求参数

关于参数校验,hibernate的validator 的校验

JAVA中通过Hibernate-Validation进行参数验证

spring 使用hibernate validator参数验证

spring 项目中使用 hibernate validator验证输入参数