为什么我的注释消息不显示?

时间:2018-07-27 07:17:24

标签: spring-boot annotations thymeleaf

我为两个当地时间制作了一个自定义注释,该注释有效,但是我遇到了问题。我在注释中设置的消息不会显示。 有人有什么主意吗?预先感谢您的建议。

这是@Annotation 默认消息是:“结束日期应在开始日期之后 日期”。

import java.lang.annotation.*;
import javax.validation.Constraint;
import javax.validation.Payload;
@Target( {ElementType.ANNOTATION_TYPE, ElementType.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 { };
}

这是我的验证者:

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


public class ValidAfterDateValidator implements 
ConstraintValidator<ValidAfterDate, Horaire> {

    @Override
    public void initialize(ValidAfterDate constraintAnnotation) {
    }

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

        return horaire.getHeureDebut().isBefore(horaire.getHeureFin());
    }
}

这是我的@entity:

@ValidAfterDate
@Component
@Entity(name="horaire")
public class Horaire {


@Id @GeneratedValue
@Column(name = "id_horaire")
private Integer id;
@NotNull
@Column(name = "heure_debut")
private LocalTime heureDebut;


@NotNull
@Column(name = "heure_fin")
private LocalTime heureFin;

0 个答案:

没有答案