问题描述
我有一个要由 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 (将#修改为@)