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
自定义注解,此处省略,如果想了解可在本站素文宅搜索。