Validat is a data validation engine, developed in ColdFusion, whose purpose is to be dropped into any application and with a minimal amount of customization, perform any data validation needs for that application.
The Validat data validation engine is broken up into 3 parts ... a collection of pluggable validators, one or more data transformers and one or more data set configurations.
The validators allow you to build your own custom validation rules. This could be as simple as checking that a given data field (element) contains a value or as complex as running tests based upon multiple data fields, talking to a database or web service, etc. The idea is that no validation framework can imagine every possible test, so this allows you to easily add your own validation routines.
The data transformers abstract out the concept of where the data being validated is coming from. This way, we can have a simple form structure transformer that knows to retrieve data out of the form scope and send it to the validation engine.
We also have a basic bean transformer that inspects a bean and grabs its data based upon each getter method. The goal here again is abstracting out where the data is coming from so if you prefer to validate beans vs. form data, you can do whatever you wish.
The last piece to the puzzle is the data set configuration. Basically what this is is a mapping between data elements and validation rules. For example, the firstName data element requires the "required" valdiator to be run.
Through this mapping your can also setup mappings between groups of fields - for example a validation rule for the firstName, lastName, and emailAddress data elements to determine if they represent a unique user. This mapping can be setup via an XML configuration or via a programmatic API if you want to store and manage the rules via your application (a dynamically built form for example).