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;
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM