Java开源可扩展数据验证框架之OVAL

        Java开源验证框架Oval是一个可扩展的Java对象数据验证框架,功能强大使用简单,验证规则可通过配置文件、注解等方式进行设置,规则的编写可以使用纯Java、JavaScript 、Groovy 、BeanShell等语言。下面本站素文宅www.yoodb.com为大家举例简单介绍一下如何使用Oval数据验证框架,本文仅供大家参考使用。


Oval官方地址: http://oval.sourceforge.net/,如果想了解具体Oval可以去官网看一些相关资料

工程实现Oval需要依赖相应的Jar包,本文采用maven工程在pom.xml文件中增加如下内容:

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


实现Oval实体对象类,用户的年龄和名字进行校验,具体代码如下:

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

执行main函数后,输出结果如下:

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


Oval支持很多类型注解,场景不同使用的注解也有不同,具体注解包含如下:

字符类型

@AsserURL、@Email、@Length、@MaxLength、@MinLength

@NotNull、@NotBlank、@NotEmpty、

@Digits、@HasSubstring

数值类型

@Range、@Max、@Min、@NotNegative

布尔类型

@AssertFalse、@AssertTrue

集合数组

@Size、@MaxSize、@MinSize、@MemberOf、@NotMemberOf

表达式或自定义

@Assert、@CheckWith、@NotMatchPatternCheck,@MatchPatternCheck、

@ValidateWithMethod

自定义注解,此处省略,如果想了解可在本站素文宅搜索。

评论

  1. #2

    素文宅(2016/10/28 11:41:03)
    不错的网站主题,看着相当舒服

  2. #1

    素文宅(2016/10/14 21:02:39)
    博客做得好漂亮哦!

分享:

支付宝

微信