1
我嘗試在GWT中使用bean驗證。我按照本指南: https://developers.google.com/web-toolkit/doc/latest/DevGuideValidationGWT驗證(JSR 303)SampleValidatorFactory
在編譯的時候,我有以下錯誤:
ERROR: Could not load deferred binding result type 'com.google.gwt.sample.validation.client.SampleValidatorFactory'
我可以讓它工作,如果我有這種依賴性:
<dependency>
<groupId>com.googlecode.gwt-validation</groupId>
<artifactId>gwt-validation</artifactId>
<version>2.1</version>
</dependency>
但我發現它奇怪,因爲這個依賴沒有在指南中提到。
問題:由於GWT 2.5應該支持bean驗證,爲什麼我需要這個額外的庫?我究竟做錯了什麼?
我使用GWT 2.5.0
我的pom.xml包含以下依存關係:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
<type>jar</type>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<type>jar</type>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<type>jar</type>
</dependency>
和我gwt.xml包含以下行:
<inherits name="org.hibernate.validator.HibernateValidator" />
<replace-with
class="com.google.gwt.sample.validation.client.SampleValidatorFactory">
<when-type-is class="javax.validation.ValidatorFactory" />
</replace-with>
在代碼,我以這種方式得到Validator:
import javax.validation.Validator;
...
private static final Validator VALIDATOR= Validation.buildDefaultValidatorFactory().getValidator();
這是:)我居然忘了創建自己的AbstractGwtValidatorFactory。這就是爲什麼當我使用gwt-validation的時候編譯的原因。 – user2147970 2013-04-08 07:00:41