# smart-validate **Repository Path**: os-technology/smart-validate ## Basic Information - **Project Name**: smart-validate - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-01-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个服务端参数验证框架,可以对JavaBean中的属性以及方法中参数列表进行验证 验证方式包含两种 1. 注解方式验证(主要针对bean的属性进行校验) 2. 拦截器方式验证(主要针对方法中的入参进行校验)

默认支持的验证规则

|验证类|说明| |---|---| |MaxLengthValidate|验证最大长度| |MaxValueValidate|验证最大值| |MinLengthValidate|验证最小长度| |MinValueValidate|验证最小值| |NotNullValidate|验证非空。属性类型为其他类也可以正常校验| |RangeLengthValidate|验证长度范围| |RangeValueValidate|验证值范围| |RegexpValidate|验证正则规则|

验证JavaBean

@ValidateBean class JavaBean{ //非空验证 @NotNullValidate private String property1; //value的范围验证 @RangeValueValidate(min="1", max="120") private Integer property2; //集合的长度验证 @MinLengthValidate(length=1) //list中的AnotherJavaBean对象会递归验证 private List list; } @ValidateBean class AnotherJavaBean{ @NotNullValidate private String subProperty1; @RangeValueValidate(min="1", max="120") private Integer subProperty2; } SmartValidate.validate(new JavaBean());

验证方法参数

1. 在方法中加入验证规则注解 public void method( @ValidateArgument( notNull=@NotNullValidate, maxLength=@MaxLengthValidate(length=1) ) /** 验证单个参数 **/ String argument, /** 验证JavaBean **/ JavaBean javaBean) { } 2. 配置 ```xml ```

拓展

1 定义自己的验证注解 @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface CustomerValidate { String message () default ""; String name () default ""; } 2 实现自定义验证规则 public class MatchCustomerValidate extends AbstractMatchValidate{ @Override public void validate(CustomerValidate t, String fieldName, Object value) throws SmartValidateException { //your code } 3 生效自定义验证规则 ValidateRulePool.mount(CustomerValidate.class, new MatchCustomerValidate());

Maven依赖

com.smart.validate smart-validate 1.3-SNAPSHOT org.springframework spring-aop 4.1.0.RELEASE