Javascript 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 \\

我有一个json要由joi验证。它包含两个可选的日期字段:开始和结束。所以我想比较它们,以确保开始日期早于结束日期

如果它们都是必填字段,我知道如何执行此操作:

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日

现在,我很好奇是否有其他更好或更干净的方法来做到这一点