Javascript joi:比较两个可选日期
我有一个json要由joi验证。它包含两个可选的日期字段:开始和结束。所以我想比较它们,以确保开始日期早于结束日期 如果它们都是必填字段,我知道如何执行此操作:Javascript joi:比较两个可选日期,javascript,compare,optional,joi,Javascript,Compare,Optional,Joi,我有一个json要由joi验证。它包含两个可选的日期字段:开始和结束。所以我想比较它们,以确保开始日期早于结束日期 如果它们都是必填字段,我知道如何执行此操作: end: Joi.date().iso().min(Joi.ref('start')) 问题是,它们是可选字段,因此在有结束日期但没有开始日期时失败: "cause": "[{\"end\":\"\\\"end\\\" date references \\
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)),
})
),
如果开始日期不存在,此代码将比较结束日期和1970年1月1日
现在,我很好奇是否有其他更好或更干净的方法来做到这一点