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;
}
}
评论
