Vue-element 日期校验 结束时间大于开始时间

1、定义templete

        <el-form-item :label="$t('execution.StartingTime')" prop="startDateTime">
          <el-date-picker
            v-model="startDateTime"
            type="datetime"
            placeholder="年/月/日 时:分:秒"
            value-format="yyyy-MM-dd HH:mm:ss"
            format="yyyy-MM-dd HH:mm:ss">
          </el-date-picker>
        </el-form-item>
        <el-form-item :label="$t('execution.EndTime')" prop="endDateTime">
          <el-date-picker
            v-model="endDateTime"
            type="datetime"
            placeholder="年/月/日 时:分:秒"
            value-format="yyyy-MM-dd HH:mm:ss"
            format="yyyy-MM-dd HH:mm:ss">
          </el-date-picker>
        </el-form-item>

2、定义校验规则

   rules() {
      const rules = {
        startDateTime: [
          { required: true, message: this.$t('clues.startDateTime'), trigger: 'change'},
        ],
        endDateTime: [
            { required: true, message: this.$t('clues.endDateTime'), trigger: 'change'},
            { validator: this.checkEndTime, trigger: 'change' }
        ]
      };
      return rules
    }

3、定义checkEndTime方法

 //校验结束时间
    checkEndTime(rule, value, callback) {
        if (!value) {
            callback(new Error("请选择结束时间"));
        } else {
            if (!this.startDateTime) {
                callback(new Error("请选择开始时间!"))
            } else if (Date.parse(this.startDateTime) >= Date.parse(value)) {
                callback(new Error("结束时间必须大于开始时间!"))
            } else {
                callback();
            }
        }
    }

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值