Annotation based JSF validation
Full dependency injection support for validators
Validation based on JPA 1.0 annotations
Solution to replace required="true"
Conditional validation
Component initialization based on metadata
Validation-exception interception 1
Validation interception 1
Allow validation without extra tags
Allow tags
Independent annotations (in view of dependencies)
Validation platform for custom mechanisms
Securing required fields
Re-using existing JSF validators
Using std. JSF validators in parallel
Pluggable message resolving
Providing custom validators for existing annotations
Re-using annotations of other properties
Support for client-side validation based on annotations
Validation is performed in the validation phase of JSF
Support for existing component libs 2
Mechanisms are independent of component libs 3
Meta-data Filters
Constraint Severity
Pluggable Storages
Mapped Constraint Source
Special @Valid Support
Possibility of CDI based Dependency Injection in Constraint Validators
1The Seam integration offers a component-driven event - it isn't the same but similar
2The Seam integration is completely independent. MyFaces ExtVal provides an optional module for generic support as well as specialized modules. They are required if a component lib introduces special mechanisms.
3E.g. component initialization has to be aware of specific components -> it isn't possible to do that without knowing component details. Seam doesn't provide that so it is independent.