commit init
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
package com.cnbm.common.validator;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import com.cnbm.common.exception.ErrorCode;
|
||||
import com.cnbm.common.exception.RenException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 2:53 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class AssertUtils {
|
||||
public static void isBlank(String str, String... params) {
|
||||
isBlank(str, ErrorCode.NOT_NULL, params);
|
||||
}
|
||||
|
||||
public static void isBlank(String str, Integer code, String... params) {
|
||||
if(code == null){
|
||||
throw new RenException(ErrorCode.NOT_NULL, "code");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(str)) {
|
||||
throw new RenException(code, params);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isNull(Object object, String... params) {
|
||||
isNull(object, ErrorCode.NOT_NULL, params);
|
||||
}
|
||||
|
||||
public static void isNull(Object object, Integer code, String... params) {
|
||||
if(code == null){
|
||||
throw new RenException(ErrorCode.NOT_NULL, "code");
|
||||
}
|
||||
|
||||
if (object == null) {
|
||||
throw new RenException(code, params);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isArrayEmpty(Object[] array, String... params) {
|
||||
isArrayEmpty(array, ErrorCode.NOT_NULL, params);
|
||||
}
|
||||
|
||||
public static void isArrayEmpty(Object[] array, Integer code, String... params) {
|
||||
if(code == null){
|
||||
throw new RenException(ErrorCode.NOT_NULL, "code");
|
||||
}
|
||||
|
||||
if(ArrayUtil.isEmpty(array)){
|
||||
throw new RenException(code, params);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isListEmpty(List<?> list, String... params) {
|
||||
isListEmpty(list, ErrorCode.NOT_NULL, params);
|
||||
}
|
||||
|
||||
public static void isListEmpty(List<?> list, Integer code, String... params) {
|
||||
if(code == null){
|
||||
throw new RenException(ErrorCode.NOT_NULL, "code");
|
||||
}
|
||||
|
||||
if(CollUtil.isEmpty(list)){
|
||||
throw new RenException(code, params);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isMapEmpty(Map map, String... params) {
|
||||
isMapEmpty(map, ErrorCode.NOT_NULL, params);
|
||||
}
|
||||
|
||||
public static void isMapEmpty(Map map, Integer code, String... params) {
|
||||
if(code == null){
|
||||
throw new RenException(ErrorCode.NOT_NULL, "code");
|
||||
}
|
||||
|
||||
if(MapUtil.isEmpty(map)){
|
||||
throw new RenException(code, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.cnbm.common.validator;
|
||||
|
||||
import com.cnbm.common.exception.RenException;
|
||||
import org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.context.support.ResourceBundleMessageSource;
|
||||
import org.springframework.validation.beanvalidation.MessageSourceResourceBundleLocator;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
import javax.validation.Validation;
|
||||
import javax.validation.Validator;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 3:15 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class ValidatorUtils {
|
||||
|
||||
private static ResourceBundleMessageSource getMessageSource() {
|
||||
ResourceBundleMessageSource bundleMessageSource = new ResourceBundleMessageSource();
|
||||
bundleMessageSource.setDefaultEncoding("UTF-8");
|
||||
bundleMessageSource.setBasenames("i18n/validation");
|
||||
return bundleMessageSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验对象
|
||||
* @param object 待校验对象
|
||||
* @param groups 待校验的组
|
||||
*/
|
||||
public static void validateEntity(Object object, Class<?>... groups)
|
||||
throws RenException {
|
||||
Locale.setDefault(LocaleContextHolder.getLocale());
|
||||
Validator validator = Validation.byDefaultProvider().configure().messageInterpolator(
|
||||
new ResourceBundleMessageInterpolator(new MessageSourceResourceBundleLocator(getMessageSource())))
|
||||
.buildValidatorFactory().getValidator();
|
||||
|
||||
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
|
||||
if (!constraintViolations.isEmpty()) {
|
||||
ConstraintViolation<Object> constraint = constraintViolations.iterator().next();
|
||||
throw new RenException(constraint.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.cnbm.common.validator.group;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 3:16 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface AddGroup {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.cnbm.common.validator.group;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 3:16 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface DefaultGroup {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.cnbm.common.validator.group;
|
||||
|
||||
import javax.validation.GroupSequence;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 3:16 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
@GroupSequence({AddGroup.class, UpdateGroup.class})
|
||||
public interface Group {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.cnbm.common.validator.group;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/7 3:16 PM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface UpdateGroup {
|
||||
}
|
||||
Reference in New Issue
Block a user