validator -api包,bean参数校验例子
import java.util.List;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
/**
* 老卡企业售卡
*/
public class OldCorpCardSaleOrderDataControl{
@NotNull(message="销售机构不允许为空")
@Length(min=1,max=15)
private String saleOrgCode;
@NotNull(message="配卡信息不允许为空")
private List<DistCardItem> distCards;
import java.util.Iterator;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
/**
* @author new
*
*/
public class BeanValidator {
public static<T> void validate(T bean) throws HessianInvokeException{
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<T>> constraintViolations=validator.validate(bean);
StringBuffer sbf = new StringBuffer();
for (Iterator<ConstraintViolation<T>> iterator = constraintViolations.iterator(); iterator.hasNext();) {
ConstraintViolation<T> constraintViolation = iterator.next();
sbf.append(constraintViolation.getPropertyPath());
sbf.append(":");
sbf.append(constraintViolation.getMessage());
sbf.append(";");
}
if(sbf.length()>0){
throw new HessianInvokeException("参数校验未通过", sbf.toString());
}
}
}