OValJava 对象验证框架
OVal 是一个可扩展的Java对象数据验证框架,验证的规则可以通过配置文件、Annotation、POJOs 进行设定。可以使用纯 Java 语言、JavaScript 、Groovy 、BeanShell 等进行规则的编写。
允许用户:
- 轻松按需验证对象,
- 为类字段和getter方法的返回值指定验证约束,
- 基于某些EJB3 JPA批注(即,所有要求非空值的字段批注)验证对象,
- 通过注释,POJO和/或简单的XML文件配置约束,
- 使用诸如JavaScript,Groovy, BeanShell,OGNL或MVEL的脚本语言来表达约束
- 轻松创建自定义约束,以及
- 开发新的约束配置机制。
示例代码:
private static class TestEntity { @Min(1960) private int year = 1977; @Range(min=1, max=12) private int month = 2; @ValidateWithMethod(methodName = "isValidDay", parameterType = int.class) private int day = 31; private boolean isValidDay(int day) { GregorianCalendar cal = new GregorianCalendar(); cal.setLenient(false); cal.set(GregorianCalendar.YEAR, year); cal.set(GregorianCalendar.MONTH, month - 1); cal.set(GregorianCalendar.DATE, day); try { cal.getTimeInMillis(); // throws IllegalArgumentException } catch (IllegalArgumentException e) { return false; } return true; } }
评论