当你需要验证数组是否都是0

具体原因是自定义组件数据格式为:value= [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]这个类型的格式,需要做一个必填校验,也就是左右数据都不得为0的情况=没填

贴一下代码:

period_time: {
    spanNumber: 23,
    node: <TheSelectionPeriod />,
    rules: [
      {
        required: true,
        message: '缺少指定时间段',
      },
      {
        validator(rule: Rule[], value: any[]) {
          const newList = value.map((item: any[]) => Number(item.join('')));
          const isEmpty: boolean = Number(newList.join('')) === 0;
          if (isEmpty) {
            return Promise.reject(new Error('指定时间段不能为空'));
          }
          return Promise.resolve();
        },
      },
    ],
  },

  

思路就是把数组的值全部拼接起来,但是因为0=false=null='',所以只需要判断最后拼接好的字符串转为数字类型的话是否等于0即可。

原文地址:https://www.cnblogs.com/nangras/p/15262895.html