Spring Support of ExtVal
It's possible to provide a validation strategy as Spring bean.
Use-cases:
- Inject a Spring bean into the validation strategy
- AOP exception handling
- ...
//The name of annotation: @CustomRequired //Part of the Spring configuration: <bean id="customRequiredValidationStrategy" class="..." lazy-init="true"> <property name="messageResolver" ref="customMsgResolver"/> <property name="requiredValidationService" ref="demoRequiredValidationService"/> </bean> <bean id="customMsgResolver" class="org.apache.myfaces.extensions.validator.core.validation.message.resolver.DefaultValidationErrorMessageResolver" lazy-init="true"> <!-- With JSF 1.2 you can use the var name of resource-bundle see faces-config.xml --> <property name="messageBundleVarName" value="messages"/> </bean> <bean id="demoRequiredValidationService" class="..."/>
The bean name follows the available name conventions.
(Also custom name conventions are supported.)
A simple demo is available here:
demo_106
Furthermore, it's possible to provide a Meta-Data Transformer as Spring bean.
Spring 3
As alternative there is an add-on for Spring 3 and the BV integration (= ExtVal validation module) to allow typesafe dependency injection in constraint validators.