前端Vue中实现时间大小的比较

前端Vue中实现时间大小的比较,第1张

今天在一个新增功能中遇到了需要校验时间的需求,特此记录一下

首先我们要明白JavaScript中的getTime()方法

        getTime()方法返回的值是自1970年1月1日00:00:00的毫秒数

那简单介绍完getTime()方法我们就开始实现在vue中校验时间的需求

第一步,我们校验时给form表单定义校验事件

 
    
        
          
          
        
      
     
        
          
        
      

第二步,在计算属性computed中定义校验规则,使用validator这个校验器去设定规则,如下代码

computed: {
      dataRule() {
         var validateConfirmPassword = (rule, value, callback) => {
          console.log(this.dataForm.createDate);
          console.log(this.value[0]);
// 为什么是this.value[0],是因为填写任务时间的时候 填写了两个时间 一个起始时间 一个结束时间 我们要用起始时间去做校验 所以获取下标为0的值
          var createDate = new Date(this.dataForm.createDate).getTime()
          var tashDta = new Date(this.value[0]).getTime()
          console.log(createDate);
          console.log(tashDta);
          console.log(createDate - tashDta);
//  转化为毫秒数以后 如果(创建时间 - 起始时间)的运算结果大于0的时候 就触发设定的规则 否则就继续往下运行
        if ((createDate - tashDta) > 0) {
          callback(new Error("任务起始时间不能小于创建时间!"));
        } else {
          callback();
        }
        callback();
      };
        return {
            taskStartDate: [{
              validator: validateConfirmPassword,
              required: true,
              trigger: "change"
            }],
        };
      },
    },

 

有不对的地方,请大神多多指教

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/944970.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存