2013-04-02 3 views
3

Я пытаюсь использовать GWT valiation модуля (jsr303) с использованием новой проверкой-API (1,1) и Hibernate валидатора (5.0), но очевидному получилаПроблемы с GWT проверкой

ERROR: Errors in 'file:/C:/projects/qiwi-digest/webui/trunk/src/main/java/ru/befree/qiwi/client/gin/SampleValidatorFactory.java' 
    ERROR: Line 27: No source code is available for type javax.validation.ParameterNameProvider; did you forget to inherit a required module? 
    ERROR: Line 27: The method getParameterNameProvider() of type SampleValidatorFactory must override or implement a supertype method 
    ERROR: Line 28: No source code is available for type org.hibernate.validator.internal.engine.DefaultParameterNameProvider; did you forget to inherit a required module? 
    ERROR: Line 32: The method close() of type SampleValidatorFactory must override or implement a supertype method 

Т.е. В настоящее время GWT не поддерживает поддержку API 1.1.

Любые идеи обходного пути?

+1

+1 по запросу. Добро пожаловать в stackoverflow. Вы правы GWT эмулирует валидатор hibernate для клиентской стороны и в настоящее время использует 4.1, и, следовательно, версия validation-api 1.0, а не 1.1. – SSR

ответ

1

Вы добавили источники javax.validation-api на свой путь? Если вы используете Maven ваши зависимостей должны выглядеть следующим образом:

<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.0.0.GA</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.0.0.GA</version> 
    <classifier>sources</classifier> 
    <scope>test</scope> 
</dependency> 
3

Вы, вероятно, опережение в использовании Hibernate 5 !!!!

GWT поддерживает только до спящего режима 4.1.0.Final. Здесь вырезано maven pom.xml из образца GWT для Validation.

<!-- Hibernate bean validation binary for the server --> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.1.0.Final</version> 
     <exclusions> 
     <exclusion> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>com.sun.xml.bind</groupId> 
      <artifactId>jaxb-impl</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <!-- Hibernate bean validation source for the GWT client --> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.1.0.Final</version> 
     <classifier>sources</classifier> 
     <exclusions> 
     <exclusion> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>com.sun.xml.bind</groupId> 
      <artifactId>jaxb-impl</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

GWT портировал код валидатора спящего режима для работы с клиентской стороной. Вы можете найти его здесь - https://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/org/hibernate/validator

Вы можете попробовать взломать это для поддержки hibernate 5 и validation-api 1.1 !!!

Смежные вопросы