如何解决joi:比较两个可选日期
我有一个要由 joi 验证的 json。它包含两个可选的日期字段:开始和结束。所以我想比较它们以确保开始日期早于结束日期。
如果它们都是必填字段,我知道该怎么做:
end: Joi.date().iso().min(Joi.ref('start'))
问题是它们是可选字段,因此在有结束日期但没有开始日期时失败:
"cause": "[{\"end\":\"\\\"end\\\" date references \\\"ref:start\\\" which must have a valid date format\"}]"
如果两个日期都存在,我如何比较两个日期?
谢谢!
编辑:我刚刚找到了一种方法:
.min(
Joi.ref("start",{
adjust: (value) => (value ? value : new Date(1970,1,1)),})
),
如果开始日期不存在,此代码会将结束日期与 1/1/1970 进行比较。
现在,我很好奇是否有另一种更好或更简洁的方法来做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。