【问题标题】:Hibernate Validator - Compare two Dates - Class-Level constraintHibernate Validator - 比较两个日期 - 类级约束
【发布时间】:2016-12-12 17:38:54
【问题描述】:

所以我必须比较提到的两个日期,我编写了一个验证器,它似乎有一些错误,有点奇怪: 注解类:这里导入了@Target注解但是里面的枚举不被识别。

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { ValidAfterDateValidator.class })
@Documented
public @interface ValidAfterDate {


String message() default "The End date should be after the starting date." ;

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

Class<? extends Payload>[] payload() default { };
}

ValidAfterDateValidator.class:

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

import gestionprojet.java.entities.Project;

public class ValidAfterDateValidator implements ConstraintValidator<ValidAfterDate, Project> {

@Override
public void initialize(ValidAfterDate constraintAnnotation) {
}

@Override
public boolean isValid(Project projet, ConstraintValidatorContext context) {
    if (projet == null) {
        return true;
    }

    return projet.getDate_Debut().compareTo(projet.getDate_Fin()) > 0;
}

这里不允许使用@ValidAferDate:

项目类:

@ValidAfterDate
public class Project {

 @Future
 @DateTimeFormat(pattern="dd/MM/YY")
 private Date date_Debut;

 @Future
 @DateTimeFormat(pattern="dd/MM/YY")
 private Date date_Fin;
 //Getters & Setters
 }

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: spring hibernate spring-mvc annotations hibernate-validator


    【解决方案1】:

    这个:

    @Target( { TYPE , ANNOTATION_TYPE })
    

    需要改成:

    @Target( {ElementType.ANNOTATION_TYPE, ElementType.TYPE })
    

    进口是:

    import java.lang.annotation.ElementType;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 2011-09-01
      • 2013-11-29
      相关资源
      最近更新 更多