iview TimePicker 时间验证问题

1.选择时间范围的时候

 

 

 

//此处是循环表单,v-for = item in objArr
objArr: [
        {
          id: 1,
          pattern: "白天模式",
          upTime: "08:00",
          downTime: "18:00",
          notificationMethod: 1,
          modelUrgency: ["1", "2", "3", "4"],
          time: ["08:00", "18:00"],
        },
        {
          id: 2,
          pattern: "夜间模式",
          upTime: "18:01",
          downTime: "07:59",
          notificationMethod: 2,
          modelUrgency: ["3", "4"],
          time: ["18:01", "07:59"],
        },
      ],

<
FormItem label="模式时间:" :prop="`data[${index}].time`" :rules="ruleValidate.time" > <TimePicker type="timerange" format="HH:mm" placeholder="选择时间" separator="~" v-model="item.time" @on-change="changeTime(index, $event)" ></TimePicker> </FormItem>
//验证rules
time: [ { required:
true, type: "date", // message: "请选择时间", validator: validateTime, trigger: "change", }, ],
//验证方法 validateTime
const validateTime = (rule, value, callback, index) => {
      // if (!value) {
      //   return callback(new Error("请选择时间"));
      // } else {
      //   callback();
      // }
      //时间为数组处理-time
      if (!value) {
        return callback(new Error("请选择时间"));
      } else {
        //时间为数组处理
        // console.log("value11111", value);
        value.map((item) => {
          if (!item) {
            return callback(new Error("请选择时间"));
          }
        });
        callback();
      }
    };

2.一般选择的时候

 

 

<FormItem
          label="模式开始时间:"
          :prop="`data[${index}].upTime`"
          :rules="ruleValidate.upTime"
        >
          <TimePicker
            type="time"
            format="HH:mm"
            placeholder="选择时间"
            clearable
            v-model="item.upTime"
          ></TimePicker>
        </FormItem>

        <FormItem
          label="模式结束时间:"
          :prop="`data[${index}].downTime`"
          :rules="ruleValidate.downTime"
        >
          <TimePicker
            type="time"
            format="HH:mm"
            placeholder="选择时间"
            clearable
            v-model="item.downTime"
          ></TimePicker>
        </FormItem>

const validateTime = (rule, value, callback, index) => { if (!value) { return callback(new Error("请选择时间")); } else { callback(); } //时间为数组处理-time // if (!value) { // return callback(new Error("请选择时间")); // } else { // //时间为数组处理 // // console.log("value11111", value); // value.map((item) => { // if (!item) { // return callback(new Error("请选择时间")); // } // }); // callback(); // } };
 upTime: [
          {
            required: true,
            type: "date",
            // message: "请选择时间",
            validator: validateTime,
            trigger: "change",
          },
        ],
        downTime: [
          {
            required: true,
            type: "date",
            // message: "请选择时间",
            validator: validateTime,
            trigger: "change",
          },
        ],

 

posted @ 2021-02-03 14:36  abcByme  阅读(630)  评论(0编辑  收藏  举报