Skip to the content.

Development of OVal has been stopped. Please migrate to a Bean Validation implementation, such as Apache BVal or Hibernate Validator.

OVal - the object validation framework for Java

Build Status License Maintainability Test Coverage Changelog Maven Central

  1. What is it?
  2. Java Compatibility
  3. Binaries
  4. User Guide
  5. Articles about OVal
  6. Projects using OVal
  7. License

What is it?


OVal is a pragmatic and extensible validation framework for any kind of Java objects (not only JavaBeans). Constraints can be declared with annotations (@NotNull, @MaxLength), POJOs or XML.

Custom constraints can be expressed as custom Java classes or by using scripting languages such as JavaScript, Groovy, BeanShell, OGNL or MVEL.

Besides field/property validation OVal implements Programming by Contract features by utilizing AspectJ based aspects or via Spring AOP. This for example allows runtime validation of constructor/method arguments.

Java Compatibility

OVal 1.x requires Java 5 or newer

OVal 2.0 or higher requires Java 8 or newer


Releases of this project are available at

You can add OVal as a dependency to your pom.xml:


User Guide

The user guide is available

Articles about OVal

There exist some articles and blog entries talking about and/or referencing OVal: [English Translation]

Projects using OVal




All files are released under the Eclipse Public License 2.0.

Individual files contain the following tag instead of the full license text:

SPDX-License-Identifier: EPL-2.0

This enables machine processing of license information based on the SPDX License Identifiers that are available here: