OValJava 对象验证框架

联合创作 · 2023-09-30 05:30

OVal 是一个可扩展的Java对象数据验证框架,验证的规则可以通过配置文件、Annotation、POJOs 进行设定。可以使用纯 Java 语言、JavaScript 、Groovy 、BeanShell 等进行规则的编写。

允许用户:

  • 轻松按需验证对象,
  • 为类字段和getter方法的返回值指定验证约束,
  • 基于某些EJB3 JPA批注(即,所有要求非空值的字段批注)验证对象,
  • 通过注释,POJO和/或简单的XML文件配置约束,
  • 使用诸如JavaScriptGroovy, BeanShellOGNLMVEL的脚本语言来表达约束
  • 轻松创建自定义约束,以及
  • 开发新的约束配置机制。

示例代码:

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;
  }
}
浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报