У меня есть это в моем файле GWT.XML:
<inherits name="org.hibernate.validator.HibernateValidator" />
<replace-with class="com.example.client.MyValidatorFactory">
<when-type-is class="javax.validation.ValidatorFactory" />
</replace-with>
Я определил MyValidatorFactory так:
public final class MyValidatorFactory extends AbstractGwtValidatorFactory {
/**
* Validator marker for the Validation Sample project. Only the classes
* listed in the {@link GwtValidation} annotation can be validated.
*/
@GwtValidation(value = { Customer.class, License.class, Account.class })
public interface MyValidator extends Validator {
}
@Override
public AbstractGwtValidator createValidator() {
return GWT.create(GwtValidator.class);
}
}
В моем пути к классам у меня есть:
hibernate-validator-4.2.0.Final-sources.jar
hibernate-validator-4.2.0.Final.jar
Теперь вы можете проверять свои доменные объекты:
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<Account>> violations = validator.validate(account);
И такая же проверка тогда также работает на стороне сервера :
private static ValidatorFactory factory = Validation.byDefaultProvider().configure().buildValidatorFactory();
Set<ConstraintViolation<DomainResource>> violations = factory.getValidator().validate(account);
Хорошие вещи!