Я просматривал это сообщение об использовании JSR-303 для проверки набора объектов. Решение отлично работает с аннотациями, но я не могу заставить его работать с конфигурацией в формате XML Hibernate Validator.
Например, у меня есть код, подобный этому:
public class DataSet
{
Collection<Data> dataCollection;
public Collection<Data> getDataCollection() {...}
}
Оттуда у меня есть собственный валидатор/аннотация DataValidator
/@ValidData
.
В XML я делаю это первым:
<bean class="DataSet"
ignore-annotations="true">
<field name="dataCollection">
<valid/>
<constraint annotation="ValidData"/>
</field>
</bean>
Однако я получаю следующее исключение:
Exception in thread "main" javax.validation.UnexpectedTypeException: No validator could be found for type: java.util.Collection<DataSet>
Поэтому я заменяю тег <valid>
тегом <constraint>
в XML. Кажется, это недопустимо для схемы XSD, и XML больше нельзя анализировать.
<bean class="DataSet"
ignore-annotations="true">
<field name="dataCollection">
<constraint annotation="ValidData"/>
<valid/>
</field>
</bean>
Exception in thread "main" javax.validation.ValidationException: Error parsing mapping file.
Кто-нибудь знает, как я могу использовать XML для проверки этой коллекции с помощью специального валидатора?
@ValidData
для типаCollection
. Какие валидаторы у вас есть для этого ограничения? - person Gunnar   schedule 21.05.2012