I am happy to announce that I have completely rewritten my Hyrule Validation framework. Thanks to some really great feedback from Lance Staples & Aaron Greenlee I decided that some issues needed to be fixed. The more I got into the framework the more I realized that I was not happy with a lot of things. First off I was not happy with the rules engine. The rules we basically doing validation and supplying an error message. A rule should only do one thing and that is validate the data. This made it much easier to write unit tests again. The framework now comes complete with unit tests for all of the rules which makes it a whole lot easier to test.

So what is Hyrule? Here is a short description from the documentation.

Validation has always been a tedious process that I wanted to rid my self of. I have used various frameworks that are out and many iterations of my own. I don't think you can really use other frameworks until you understand the problem and how the problem is solved. With that In mind I wanted to tackle my own validation framework. The idea for this framework really came from 2 sources. I really enjoyed the way the QuickSilver framework was using annotations in there framework so I thought I would do the same. The other source of inspiration was the hibernate validation frameowrk. That framework does the same thing for validation and many of my constraints, example and documentation text come from that framework.

Annotations are a very convenient and elegant way to specify invariant constraints for a domain model. You can, for example, express that a property should never be null, that the account balance should be strictly positive, etc. These domain model constraints are declared in the bean itself by annotating its properties. A validator can then read them and check for constraint violations

The plan is to write up many tutorials on how to use it. For now I just wanted to make everyone aware of the changes. Please download the framework and try it for yourself. Feedback like yours is priceless so anything you can provide would be a big help. Happy Validating!

http://hyrule.riaforge.org/
http://www.danvega.org/hyrule/docs/