# Apache MyFaces Extensions Validator / ExtVal

> :warning: **This project is in maintaneance mode**

MyFaces Extensions Validator is a JSF centric validation framework.

It offers powerful and easy to use field based validation based on annotations. It has a pluggable architecture, so it is possible to add new validation modules or support for component libraries like Trinidad or other 3rd party frameworks.

MyFaces Extensions Validator is compatible with JSF 1.x and JSF 2.x. All versions require Java 1.5+


## Links

* [Wiki](https://cwiki.apache.org/confluence/display/EXTVAL/Index/)
* [SVN ViewVC](https://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/)
* [SVN](https://svn.apache.org/repos/asf/myfaces/extensions/validator/trunk/)






