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.