import com.megvii.performance.common.exception.CommonException;
import org.springframework.util.CollectionUtils;
import javax.validation.ConstraintViolation;
import javax.validation.Valid;
import javax.validation.Validation;
import java.util.Set;
public class ManualValidatorObject<T> {
public void validateEntityData(T t, Object[] replaceFiled, Class<?>... clazz) {
Set<ConstraintViolation<@Valid T>> validateSet = Validation.buildDefaultValidatorFactory()
.getValidator()
.validate(t, clazz == null ? new Class[0] : clazz);
if (!CollectionUtils.isEmpty(validateSet)) {
String messages = validateSet.stream()
.map(ConstraintViolation::getMessage)
.sorted()
.limit(1)
.reduce((m1, m2) -> m1 + ";" + m2)
.orElse("参数输入有误!");
throw new CommonException(String.format(messages, replaceFiled));
}
}
}