...
Tapestry provides a powerful validation mechanism which is described here(see Forms and Validation). Among other things this mechanism allows you to annotate your domain model classes with the @Validate annotation. This annotation is problematic if your domain model is used in non-Tapestry applications as well as in Tapestry applications. Your non-Tapestry application becomes dependent on tapestry5-annotations module. To make your domain model independent from Tapestry you can use the JSR 303: Bean Validation. This library provides integration between Tapestry and JSR-303.
...