Selaa lähdekoodia

利用@Excel中的name属性来标注错误信息中的字段

4.1.3.A
Hugh Gao 6 vuotta sitten
vanhempi
commit
03acac42f5
1 muutettua tiedostoa jossa 20 lisäystä ja 1 poistoa
  1. +20
    -1
      easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiValidationUtil.java

+ 20
- 1
easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiValidationUtil.java Näytä tiedosto

@@ -15,6 +15,12 @@
*/
package cn.afterturn.easypoi.util;
import cn.afterturn.easypoi.excel.annotation.Excel;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
@@ -52,9 +58,22 @@ public class PoiValidationUtil {
private static String getValidateErrMsg(Set<ConstraintViolation<Object>> set) {
StringBuilder builder = new StringBuilder();
for (ConstraintViolation<Object> constraintViolation : set) {
Class cls = constraintViolation.getRootBean().getClass();
String fieldName = constraintViolation.getPropertyPath().toString();
List<Field> fields = new ArrayList<>(Arrays.asList(cls.getDeclaredFields()));
Class superClass = cls.getSuperclass();
if (superClass != null) {
fields.addAll(Arrays.asList(superClass.getDeclaredFields()));
}
for (Field field: fields) {
if (field.getName().equals(fieldName) && field.isAnnotationPresent(Excel.class)) {
builder.append(field.getAnnotation(Excel.class).name());
break;
}
}
builder.append(constraintViolation.getMessage()).append(",");
}
return builder.substring(0, builder.length() - 1).toString();
return builder.substring(0, builder.length() - 1);
}
}

Ladataan…
Peruuta
Tallenna