日期属性验证,结束日期必须大于开始日期-Spring Boot

时间:2018-07-12 08:03:36

标签: java validation datetime spring-boot

我需要检查“结束日期”是否大于“背面”中的开始日期。 我已经读过有关验证器的信息,但我不知道如何使用它们,我想知道是否还有另一种选择(将约束添加为Annotation Maybe ..)。

任何推荐或建议都会很棒!

2 个答案:

答案 0 :(得分:0)

没有用于此类验证的弹簧注释。 您可以像二传手那样简单地做自己的事情:

public class MyEntity... {
    ...
    private LocalDate shouldBeAfterNow;

    public void setShouldBeAfterNow(LocalDate date) {
         if(date.isAfter(LocalDate.now())) {
           shouldBeAfterNow = date;
         } else {
           throw new SomeException(); // or
         }
    }
    ...
}

但是请考虑您是否真的需要在实体中进行此类验证。也许有更好的选择……服务或映射器类。

答案 1 :(得分:-1)

在您的方法中,您可以使用断言: Assert.isTrue(endDate.isAfter(startDate),"Custom message");

自定义消息是可选的。