ResolverStyle.STRICT在`@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)中不起作用

问题描述 投票:1回答:1

我在用:

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )
private LocalDate start;

但它接受02-30-2019并自动转换为02-28-2019。但我想限制那个日期。

我也用过:

@DateTimeFormat(iso = java.time.format.DateTimeFormatter.ISO_DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )
private LocalDate start;

但它给编译时错误:Attribute value must be constant

ankit在这里:

我有同样的问题,并使用u代替y但没有帮助:

@FutureOrPresent
@DateTimeFormat( iso = DateTimeFormat.ISO.DATE,pattern = "MM-dd-uuuu")
@JsonFormat( pattern = "MM-dd-uuuu" )
private LocalDate start;

我想在解析时限制。它接受02-31-2019并自动转换为02-28-2019。参考:https://stackoverflow.com/a/41104034/6097074

现在是09/08/2018

如果我正在使用:private LocalDate start; //而不使用DateTimeFormat和JsonFormat注释

这项工作很好,如果我使用:yyyy-MM-dd格式日期在json即2014-01-01。但我需要解析MM-dd-yyyy

亲切的帮助解决这个问题,谢谢。

java spring validation date datetime
1个回答
5
投票

我找到了解决问题的方法:

删除下面的行

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )

并使用:

private LocalDate start;

并以yyyy-MM-dd或yyyy-MM-ddTHH:mm:ss(Spring中使用ResolverStyle.Strict进行日期解析的默认日期格式)日期格式发送日期。

© www.soinside.com 2019 - 2024. All rights reserved.