private static Validator validator = Validation.buildDefaultValidatorFactory()
.getValidator();
public static <T> Map<String, StringBuffer> validate(T obj) {
Map<String, StringBuffer> errorMap = null;
Set<ConstraintViolation<T>> set = validator.validate(obj, Default.class);
if (set != null && set.size() > 0) {
errorMap = new HashMap<String, StringBuffer>();
String property = null;
for (ConstraintViolation<T> cv : set) {
//这里循环获取错误信息,可以自定义格式
property = String.valueOf(cv.getPropertyPath());
Object leafBean = cv.getLeafBean();
Object transId = null;
for (Field declaredField : cv.getLeafBean().getClass().getDeclaredFields()) {
if (declaredField.getName().equals("id")) {
declaredField.setAccessible(true);
try {
transId = declaredField.get(leafBean);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
break;
}
}
if (errorMap.get(property) != null) {
errorMap.get(property).append("," + cv.getMessage());
} else {
StringBuffer sb = new StringBuffer();
sb.append(cv.getMessage());
errorMap.put("ID:" + transId + "," + property, sb);
}
}
}
return errorMap;
}
}
校验工具类