繁体   English   中英

Java spring date @Pattern 允许 DTO 中的空字符串

[英]Java spring date @Pattern allow empty string in DTO

我正在处理 java web 项目,我想验证我的 DTO 日期字段。 我使用了import javax.validation.constraints.Pattern; 这是我的代码:

 @Pattern(regexp = "^([0-9]{2}/[0-9]{2}/[0-9]{4})$", message = "Date format should be dd/mm/yyyy")
  private String myDatefield;

当我发送无效的日期格式时,此验证工作正常。 但问题是该字段不是强制性的,所以我想容忍该字段为空的情况:

{
  "myDatefield":""
}

但在这种情况下,我仍然收到错误"Date format should be dd/mm/yyyy"

你有什么建议我可以修改我的 regx 模式以验证日期格式并接受空字符串。

提前致谢。

添加^$应该可以解决问题。

@Pattern(regexp = "^$|^([0-9]{2}/[0-9]{2}/[0-9]{4})$", message = "Date format should be dd/mm/yyyy")
  private String myDatefield;
  • ^$为您提供空字符串的情况
  • | 是替代模式的or分隔符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM