package com.newcore.pcms.util;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Path;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.apache.commons.lang3.StringUtils;
/**
* <p>Title: ValidationTools</p>
* <p>Description: 校验Bean对象的参数是否符合规范的工具类</p>
* @author MaRuifu
* @date 2016年9月27日上午9:54:42
*/
public class ValidationTools {
/**
* @param StringBuilder 所要验证的Bean对象
* @return StringBuilder 错误信息
* @作者maruifu
* @描述 —— 校验bean对象参数是否正确
*/
public static StringBuilder validationdata(Object object) {
// 验证信息
StringBuilder req_ErrorMessage = new StringBuilder("");
if(object==null){
return req_ErrorMessage.append("校验对象不能为空");
}
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object);
for (ConstraintViolation<Object> constraintViolation : constraintViolations) {
// 对象属性
Path objproperties = constraintViolation.getPropertyPath();
// 错误信息
String errorMessage = constraintViolation.getMessage();
if (!StringUtils.isBlank(errorMessage)) {
req_ErrorMessage.append(objproperties + ":" + errorMessage);
}
}
return req_ErrorMessage;
}
/**
* @param List<Object> 接受一个List集合
* @return StringBuilder 返回错误信息
* @作者maruifu
* @描述 —— 校验bean对象参数是否正确
*/
@SuppressWarnings({ "hiding" })
public static <Object> StringBuilder validationdata(List<Object> objlist) {
// 验证信息
StringBuilder reqErrorMessage = new StringBuilder("");
if(objlist==null||objlist.isEmpty()){
return reqErrorMessage.append("");
}
// 验证信息
StringBuilder req_ErrorMessage = new StringBuilder();
for (int i = 0; i < objlist.size(); i++) {
req_ErrorMessage.append(validationdata(objlist.get(i)));
}
return req_ErrorMessage;
}
}
注意一定加上这两个jar包
<dependencies>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.4</version>
</dependency>
</dependencies>