Tôi đã cố gắng thực hiện xác nhận cho các ứng dụng web của tôi như được mô tả trong phần 5.7.4.3 của tài liệu Xuân 3.0:Xuân JSR303 validation không hoạt động như được mô tả trong tài liệu xuân
<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>
Tôi đã thêm hibernate-validator như một sự phụ thuộc và mọi thứ có vẻ OK, nhưng bắt đầu kết quả ứng dụng web của tôi dẫn đến lỗi sau:
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?
Khi nhìn vào API, điều này là khá rõ ràng. LocalValidatorFactoryBean
triển khai javax.validation.Validator
trong khi ConfigurableWebBindingInitializer.setValidator()
mong đợi một org.springframework.validation.Validator
.
Bất kỳ giải pháp nào cho điều này?
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.
Giống như Alex Marshall nêu dưới đây đây là không trường hợp. LocalValidatorFactoryBean
chỉ thực hiện javax.validation.Validator
.
LocalValidatorFactoryBean
không mở rộng SpringValidatorAdapter
mặc dù, triển khai org.springframework.validation.Validator
.
Tôi cũng đã thử cập nhật thành 'hibernate-core-3.5.0.Beta-1' nhưng mã Hibernate của Spring không tương thích với phiên bản này. – Koraktor
Đã mở một vấn đề JIRA tại http://jira.springframework.org/browse/SPR-6189. – Koraktor