关于vue中自定义校验规则,开始时间,结束时间分开

1.项目为vue项目,用的是element-ui框架

2.本来框架有开始结束关联的时间选择器,但是用户或者产品有时候会希望两个选择器是分开选择的,所以就需要使用到了自定义规则

<el-form-item label="培训周期" prop="trainingTime" style="width:100%">
                <el-date-picker
                v-model="ruleForm.eduStartTime"
                type="date"
                style="width: 45%"
                placeholder='开始时间'
                value-format="yyyy-MM-dd hh:mm:ss">
              </el-date-picker>


              <span style="width:1.5%; textAlign:center"> - </span>
              
              
                <el-date-picker
                v-model="ruleForm.eduEndTime"
                type="date"
                style="width: 45%"
                placeholder='结束时间'
                value-format="yyyy-MM-dd hh:mm:ss">
              </el-date-picker>
</el-form-item>


// 校验规则
var validator = (rule, value, callback) => {
      console.log(this.ruleForm.eduStartTime,this.ruleForm.eduEndTime);
        if (!this.ruleForm.eduStartTime || !this.ruleForm.eduEndTime) {
          callback(new Error('请选择日期'));
        } else if (new Date(this.ruleForm.eduStartTime).getTime() >= new Date(this.ruleForm.eduEndTime).getTime()){
          callback(new Error('开始时间要小于结束时间'));
        }else{
          const obj = [this.ruleForm.eduStartTime,this.ruleForm.eduEndTime].join(',')
          this.ruleForm.trainingTime = obj
          callback();

        }
      };


// 在rules下面使用
trainingTime: [{
          required: true, validator:validator, trigger: 'change'
        }]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值