vue3 开始时间与结束时间比较验证(结束时间需要大于开始时间)

表单项

 <el-row>
          <el-col :span="12">
            <el-form-item label="开始时间" prop="startTime">
              <el-date-picker clearable
                              v-model="form.startTime"
                              type="date"
                              value-format="YYYY-MM-DD"
                              placeholder="请选择开始时间">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="结束时间" prop="endTime">
              <el-date-picker clearable
                              v-model="form.endTime"
                              type="date"
                              value-format="YYYY-MM-DD"
                              placeholder="请选择结束时间">
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>

验证方法

const isStartTimeAfterEndTime  = (rule, value, callback) => {
  if (!form.value.startTime || !form.value.endTime) {
    callback();
  }
  //开始时间
  const startTime= new Date(form.value.startTime);
  //结束时间
  const endTime= new Date(form.value.endTime);
  console.log(rule);
  if (endTime.getTime() < startTime.getTime()) {
    if (rule.field === "endTime") {
      callback(new Error("结束时间需要大于开始时间,请选择正确的时间!"));
    } else {
      callback(new Error("开始时间需要小于结束时间,请选择正确的时间!"));
    }
  } else {
    callback();
  }
};

在规则中使用

rules: {
    startTime: [
      { required: true, message: "开始时间不能为空", trigger: "blur" },
      {	
        //调用定义的方法校验格式是否正确
        validator: isStartTimeAfterEndTime, trigger: "blur"
      }
    ],
    endTime: [
      { required: true, message: "结束时间不能为空", trigger: "blur" },
      {	
        //调用定义的方法校验格式是否正确
        validator: isStartTimeAfterEndTime, trigger: "blur"
      }
    ],
   
  }

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 10:36:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 10:36:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 10:36:01       58 阅读
  4. Python语言-面向对象

    2024-07-14 10:36:01       69 阅读

热门阅读

  1. Font Awesome 图表图标

    2024-07-14 10:36:01       26 阅读
  2. c++课后作业

    2024-07-14 10:36:01       24 阅读
  3. k8s开启deopos功能报错总结

    2024-07-14 10:36:01       24 阅读
  4. 【机器学习】ChatGLM2-6B 分词器 Tokenizer 的使用

    2024-07-14 10:36:01       34 阅读
  5. PHP文字ocr识别接口示例、人工智能的发展

    2024-07-14 10:36:01       22 阅读
  6. 等保测评是做什么的

    2024-07-14 10:36:01       20 阅读
  7. Ubuntu 22.04.4 LTS (linux) 使用shc 加密 shell script

    2024-07-14 10:36:01       21 阅读
  8. 流程循环控制语句

    2024-07-14 10:36:01       24 阅读
  9. Perl 语言开发(十五):调试和测试

    2024-07-14 10:36:01       19 阅读