hbiernate validator 校验实体bean工具类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32534855/article/details/83269266

因公司项目需要,我们需要在其他地方对实体类经行校验,所有提取出来一个工具类ValidateUtil

public class ValidateUtil {

	/**
	 * 校验实体类
	 * 
	 * @param t
	 * @return
	 */
	public static <T> List<Map<String, String>> validate(T t) {
		//定义返回错误List
		List<Map<String, String>> errList = new ArrayList<Map<String, String>>();

		Map<String, String> errorMap;
		
		ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
		
		Validator validator = factory.getValidator();

		Set<ConstraintViolation<T>> errorSet = validator.validate(t);

		for (ConstraintViolation<T> c : errorSet) {
			errorMap = new HashMap<>();
			errorMap.put("field", c.getPropertyPath().toString()); //获取发生错误的字典名称
			errorMap.put("msg", c.getMessage()); //获取校验信息
			errList.add(errorMap);
		}

		return errList;
	}

}

调用

List<Map<String, String>> validate = ValidateUtil.validate(school);

猜你喜欢

转载自blog.csdn.net/qq_32534855/article/details/83269266