| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 
 | import org.springframework.util.CollectionUtils;
 
 import javax.validation.ConstraintViolation;
 import javax.validation.Validation;
 import javax.validation.Validator;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
 
 
 
 
 
 
 
 
 public class BeanValidatorUtils {
 public BeanValidatorUtils() {
 }
 
 public static <T> String validate(T object, Class... groups) {
 return validate(object, BeanValidatorUtils.OutputType.SIMPLE_STRING, groups);
 }
 
 public static <T> String validate(T object, BeanValidatorUtils.OutputType outputType, Class... groups) {
 if (outputType == null) {
 outputType = BeanValidatorUtils.OutputType.SIMPLE_STRING;
 }
 
 Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
 Set<ConstraintViolation<T>> constraintViolations = validator.validate(object, groups);
 if (CollectionUtils.isEmpty(constraintViolations)) {
 return "";
 } else {
 switch (outputType) {
 case MAP:
 return convertErrorMsg(constraintViolations);
 case ALL_STRING:
 return convertErrorMsgAllString(constraintViolations);
 case SIMPLE_STRING:
 return convertErrorMsgSimpleString(constraintViolations);
 default:
 return convertErrorMsgSimpleString(constraintViolations);
 }
 }
 }
 
 private static <T> String convertErrorMsg(Set<ConstraintViolation<T>> cvs) {
 Map<String, StringBuilder> errorMap = new HashMap();
 Iterator var3 = cvs.iterator();
 
 while (var3.hasNext()) {
 ConstraintViolation<T> cv = (ConstraintViolation) var3.next();
 String property = cv.getPropertyPath().toString();
 if (errorMap.get(property) != null) {
 ((StringBuilder) errorMap.get(property)).append("," + cv.getMessage());
 } else {
 StringBuilder sb = new StringBuilder();
 sb.append(cv.getMessage());
 errorMap.put(property, sb);
 }
 }
 
 return errorMap.toString();
 }
 
 private static <T> String convertErrorMsgAllString(Set<ConstraintViolation<T>> cvs) {
 StringBuilder sb = new StringBuilder();
 
 ConstraintViolation cv;
 for (Iterator var3 = cvs.iterator(); var3.hasNext(); sb.append(cv.getMessage())) {
 cv = (ConstraintViolation) var3.next();
 if (sb.length() != 0) {
 sb.append(",");
 }
 }
 
 return sb.toString();
 }
 
 private static <T> String convertErrorMsgSimpleString(Set<ConstraintViolation<T>> cvs) {
 StringBuilder sb = new StringBuilder();
 Iterator var3 = cvs.iterator();
 if (var3.hasNext()) {
 ConstraintViolation<T> cv = (ConstraintViolation) var3.next();
 sb.append(cv.getMessage());
 }
 
 return sb.toString();
 }
 
 public static enum OutputType {
 MAP,
 ALL_STRING,
 SIMPLE_STRING;
 
 private OutputType() {
 }
 }
 }
 
 
 |