Skip to content

msimw/validation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

关于spring.validation 通用数据校验工具的使用说明

Maven

<dependency>
    <groupId>com.github.msimw</groupId>
    <artifactId>validation</artifactId>
    <version>1.0</version>
</dependency>

版本更新说明

v1.2 新增对dto字段校验继承。即子类可以直接继承父类的校验。

1.如何使用

1.再需要参数校验的工程引入classpath:validation/applicationContext-validation.xml
2.在需要校验的类或接口上加入@Validated
3.对于引用类型的校验,在参数上加@Validated(然后在类的属性上加校验注解)

1.默认有八种校验器(都是可继承的)

  @NotEmpty 为空判断
  @Length 长度校验
  @Pattern 正则校验
  @ChineseCharacters 中文校验
  @ChineseIdCard 中国身份证校验
  @Email 邮件校验
  @EnglishCharacters 英文字母校验
  @Number 数字

2.注解公共属性:messageCode,message,groups

  1.messageCode:消息码(当messageCode有值的情况下,会读取classpath:validation/validation.properties文件,否则读取message(message有默认的提示消息)
  2.message:消息
  3.groups:校验分组

2.关于扩展自定义校验规则

 1.新建一个校验规则注解(必须要有上述公共属性)
 2.继承AbstractValidationHandler或实现ValidationHandler类实现校验规则,使用ValidationHandlerExpand类来扩展新的校验规则(建议继承AbstractValidationHandler)

Demo:

<bean class="ValidationHandlerExpand">
    <property name="validationHandlers">
        <list>
            <bean class="NotNullHandler"></bean>
        </list>
    </property>
</bean>

3.建议

当系统某一校验规则多次出现的情况下建议扩展校验器。

4.Demo

1.代码示例
       
      @Validated
      public class DemoServiceImpl implements IDemoService {
      
          @Override
          public void add(@NotEmpty String id) {
      
          }
      
          @Override
          public void add1(@Validated Demo demo) {
      
          }
      }
       
       
2.配置文件
       
      <import resource="classpath:validation/applicationContext-validation.xml"></import>
      <bean id="demoService" class="com.msimw.demo.service.DemoServiceImpl"></bean>

About

基于spring 通用数据校验工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages