public class User {
@NotNull
private String username;
@Size(min = 6, max = 20)
private String password;
}
public class MyValidatorFactory implements ValidationProvider<MyValidator> {
@Override
public MyValidator create(ValidationContext context) {
return new MyValidator();
}
}
public interface GroupA {}
public interface GroupB {}
public class User {
@NotNull(groups = GroupA.class)
private String username;
@NotEmpty(groups = GroupB.class)
private String password;
}
@GwtValidation(User.class)
public interface MyValidator extends Validator {
@CheckReturnValue
User validatedUser(User user);
}
<inherits name="javax.validation.Validation" />
<inherits name="org.hibernate.validator.HibernateValidator" />
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.0.Final</version>
</dependency>
<dependency>
<groupId>com.google.gwt.inject</groupId>
<artifactId>gin</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>com.google.gwt.validation</groupId>
<artifactId>gwt-validation</artifactId>
<version>2.0.5</version>
</dependency>
<replace-with class="com.example.MyValidatorFactory">
<when-type-is class="com.google.gwt.validation.client.impl.AbstractGwtValidatorFactory"/>
</replace-with>