Projects / OVal


OVal is a pragmatic and extensible validation framework for any kind of Java objects (not only JavaBeans). Constraints can be configured with annotations, POJOs, or XML. Custom constraints can be expressed in pure Java or by using scripting languages such as JavaScript, Groovy, or BeanShell. Besides simple object validation, OVal provides certain Programming by Contract features. They can easily be enabled by using the provided AspectJ aspects.

Operating Systems

Recent releases

  •  03 Oct 2011 20:42

    Release Notes: This release adds support for declaring constraints for nested properties via a new target attribute on constraint annotations. It adds caching of compiled OGNL expressions and compiled MVEL expressions.

    •  13 Oct 2010 21:28

      Release Notes: This release adds Validator.reportConstraintViolation, allowing check implementations to generate more than one constraint violation. It adds @Constraint.List annotations that can hold multiple constraint annotations of the same type. It adds @Email(allowPersonalName=true/false). It adds add/remove CheckInitializationListener methods to AnnotationsConfigurer and XMLConfigurer. It adds BeanInjectingCheckInitializationListener, allowing Spring dependencies to be injected into Check instances. It adds support for constraints specified for method parameters at interface level: @Guard(inspectInterfaces=true).

      •  31 Mar 2010 15:54

        Release Notes: JPAAnnotationsConfigurer now also interprets annotated getter methods. @Size now checks the length of the value's String representation if the value is not a map, a list, or an array. This release adds @AssertNull and @Digits constraints. It adds BeanValidationAnnotationsConfigurer, which allows validation of JSR303 built-in constraint annotations. It implements [oval-Bugs-2907399]Žand adds MessageValueFormatter and Validator.setMessageValueFormatter().

        •  27 Sep 2009 10:54

          Release Notes: This release adds support for conditional constraint activation via the when="" attribute. It adds a tolerance attribute to @Past and @Future. It adds @NotMatchPattern and ConstraintViolation.getCheckDeclaringContext(). It adds an appliesTo() attribute to constraints to control if and how validation should be applied to children of arrays, maps, and collections. It fixes bugs 2836116, 2821805, and 2799870.

          •  10 May 2009 12:12

            Release Notes: This release adds an @Email constraint. It adds a Brazilian Portuguese translation of the constraint violation messages. It introduces an interface implemented by Validator for supporting easier mocking. It fixes several minor issues.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.