Javascript 我想验证对象数组的有效时间值

Javascript 我想验证对象数组的有效时间值,javascript,validation,yup,Javascript,Validation,Yup,我正在尝试验证以下对象数组: [{from'10:00',to'16:00'},null,{from'09:00',to'16:00'},等等] 我想要在这个数组中有7个对象,我如何验证它?我想同时添加.min(7)和.max(7)不是最佳做法。如何让NULL值也通过 这另一部分好吗,或者你会改变什么?我是JavaScript新手 schedule: array().of( object().shape({ from: string() .required()

我正在尝试验证以下对象数组:
[{from'10:00',to'16:00'},null,{from'09:00',to'16:00'},等等]

我想要在这个数组中有7个对象,我如何验证它?我想同时添加
.min(7)
.max(7)
不是最佳做法。如何让
NULL
值也通过

这另一部分好吗,或者你会改变什么?我是JavaScript新手

schedule: array().of(
    object().shape({
      from: string()
        .required()
        .matches(/^(0[0-9]|1[0-9]|2[0-3]):(00|30)$/),
      to: string()
        .required()
        .matches(/^(0[0-9]|1[0-9]|2[0-3]):(00|30)$/),
    })
  ),

使用验证
is()
属性。这里是文档链接:

要检查简单的时间值,即
12:34
,您可以使用以下正则表达式:
/^[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/
。代码:

var项目='10:00';

console.log(item.match(/^[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/)该正则表达式的问题是,例如{from'99:00',to'16:74'}将验证为well@Zselter:嘿,谢谢你回来!您从未定义什么是“有效的”,根据MySQL文档,
99.00
是100%有效的时间值。资料来源:无论如何,如果你的意思是一个有效的24小时格式,那么我已经更新了我的答案。希望这有帮助。请提供此解决方案的演示链接。