Próbowałem realizacji walidacji dla mojej aplikacji internetowych, takich jak opisane w rozdziale 5.7.4.3 dokumentacji Wiosna 3,0:Wiosna JSR303 nie działa jak opisano w Spring Dokumentacji
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator">
<bean class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
</property>
</bean>
</property>
</bean>
dodałem hibernacji-walidatora jako uzależnienie i wszystko wygląda OK, ale wychodząc moje wyniki Web app w następujący błąd:
org.springframework.beans.NotWritablePropertyException:
Invalid property 'validator' of bean class
[org.springframework.web.bind.support.ConfigurableWebBindingInitializer]:
Bean property 'validator' is not writable or has an invalid setter method.
Does the parameter type of the setter match the return type of the getter?
patrząc na API to jest dość oczywiste, że coś jest nie tak. LocalValidatorFactoryBean
implementuje javax.validation.Validator
, podczas gdy ConfigurableWebBindingInitializer.setValidator()
spodziewa się org.springframework.validation.Validator
.
Jakieś rozwiązanie tego?
EDIT
This is the central class for
javax.validation
(JSR-303) setup in a Spring application context: It bootstraps ajavax.validation.ValidationFactory
and exposes it through the SpringValidator
interface as well as through the JSR-303Validator
interface and theValidatorFactory
interface itself.
jak Alex Marshall nizej to nie przypadek. LocalValidatorFactoryBean
implementuje tylko javax.validation.Validator
.
ma jednak rozszerzenie SpringValidatorAdapter
, które implementuje org.springframework.validation.Validator
.
Próbowałem również aktualizacji do 'hibernate-core-3.5.0.Beta-1', ale Spring's Hibernate kod nie jest kompatybilny z tą wersją. – Koraktor
Uruchomiono wydanie JIRA na http://jira.springframework.org/browse/SPR-6189. – Koraktor