在GWT中使用自定义javax验证注释

在GWT中使用自定义javax验证注释,gwt,bean-validation,Gwt,Bean Validation,对于当前项目,我们使用JSR-303注释来验证接口参数 我需要为日期创建一个自定义注释,因为默认的@pass和@Before也会考虑时间 这是我的注释的定义: @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) @Retention(RUNTIME) @Documented @Constraint(validatedBy = { NotInFutureValidator.class }) /** * Annot

对于当前项目,我们使用JSR-303注释来验证接口参数

我需要为日期创建一个自定义注释,因为默认的@pass和@Before也会考虑时间

这是我的注释的定义:

@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { NotInFutureValidator.class })
/**
 * Annotated element must be a date before tomorrow, compared to the system's date
 */
public @interface NotInFuture {
    String message() default "{be.credoc.contractRegistration.interface_v2.validation.pastignoretime}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}
@Target({方法、字段、注释\类型、构造函数、参数})
@保留(运行时)
@记录
@约束(validatedBy={NotInFutureValidator.class})
/**
*与系统日期相比,带注释的元素必须是明天之前的日期
*/
public@interface NotInFuture{
String message()默认值“{be.credoc.contractRegistration.interface_v2.validation.pastignoretime}”;
类[]组()默认值{};

类而不是创建新的注释,您可以尝试通过提供如下XML约束映射来重新定义现有的
@pass
@Future
注释的验证器:

<?xml version="1.0" ?>
<constraint-mappings
    xmlns="http://jboss.org/xml/ns/javax/validation/mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=
        "http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd">

    <constraint-definition annotation="javax.validation.constraints.Past">
        <validated-by include-existing-validators="false">
            <value>x.y.z.NotInFutureValidator</value>
        </validated-by>
    </constraint-definition>
</constraint-mappings>
<?xml version="1.0" encoding="UTF-8"?>
<validation-config
    xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd">

    <constraint-mapping>META-INF/validation/custom-constraints.xml</constraint-mapping>

</validation-config>

您可以在Bean验证和Hibernate验证程序中了解有关现有约束的自定义验证程序的更多信息。

显然,我们为每个自定义注释编写了自己的JavaScript实现,因此本例中的解决方案就是编写这样的实现