浮华过后,真金始现

一切问题最终都是时间问题,一切烦恼其实都是自寻烦恼
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java对象校验框架之Oval

Posted on 2012-09-07 18:09  Kolor  阅读(10711)  评论(0编辑  收藏  举报

只要有接口,就会有参数的校验,目前开源的校验框架已经非常多了,不过不得不提一下Oval。
OVal 是一个可扩展的Java对象数据验证框架,验证的规则可以通过配置文件、Annotation、POJOs 进行设定。可以使用纯 Java 语言、JavaScript 、Groovy 、BeanShell 等进行规则的编写。
使用起来也非常简单

public class OvalTest {
    @Min(20)
    private int age;
    @Length(min = 6, max = 10)
    private String name;
    
    public static void main(String[] args) {
        OvalTest ovalTest = new OvalTest();
        ovalTest.age = 10;
        ovalTest.name = "kolor";
        
        Validator validator = new Validator(); 
        
        List<ConstraintViolation> ret = validator.validate(ovalTest);
        System.out.println(ret);
    }
}

校验自然是不过的了,输出如下:

[net.sf.oval.ConstraintViolation: OvalTest.age cannot be smaller than 20.0, net.sf.oval.ConstraintViolation: OvalTest.name is not between 6 and 10 characters long]

maven依赖:

<dependency>
    <groupId>net.sf.oval</groupId>
    <artifactId>oval</artifactId>
    <version>1.81</version>
</dependency>

Oval官方地址: http://oval.sourceforge.net/