我尝试在Sping Boot 中使用自定义验证来验证日期。但是唯一的X1 M0 N1 X没有验证年份,尽管X1 M1 N1 X和X1 M2 N1 X工作正常。
例如,
如果在RequestBody中我将日期格式传递为02/1k/2022
已正确验证,k2/12/2022
也已正确验证,但当我通过日期(如02/12/2k22
)时,未验证。
我想不出来。
SpringBoot版本:2.3.0.版本
相依性:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
代码:
第一个
型号:
@NotEmpty(message = "dob {emptyDateValidationMsg}")
@IsValidDateFormat(message = "dob {dateFormatValidationMsg}")
@JsonProperty("dob")
private String dob;
请指出我犯了什么错误...
如果我传递的是dateformatyyyy-MM-dd而不是dd/MM/yyyy,则相同的代码可以正确验证年份
1条答案
按热度按时间tvokkenx1#
如果您使用SimpleDateFormat.parse,则会出现一些缺陷,即“* 该方法可能不会使用给定字符串的整个文本 *"。您可以在javadoc DateFormat中找到这些缺陷
我建议您可以使用DateTimeFormatter & LocalDate.parse来代替。