出发时间和抵达时间的校验,当选择一方符合条件,关闭另一方时间校验

出发时间和抵达时间的校验,当选择一方符合条件,关闭另一方时间校验

Html:
<el-form
    class="input-event basic_form form"
    :inline="true"
    :model="formData"
    :rules="rules"
    ref="formData"
    @submit.native.prevent>
    <el-row>
        <el-col :span="6">
            <el-form-item label="出发时间" prop="cfsj">
                <el-date-picker
                    v-model="formData.cfsj"
                    type="datetime"
                    format="yyyy-MM-dd HH:mm"
                    value-format="yyyy-MM-dd HH:mm"
                    placeholder="选择日期"
                    default-time="12:00:00">
                </el-date-picker>
            </el-form-item>
        </el-col>
        <el-col :span="6">
            <el-form-item label="抵达时间" prop="ddsj">
                <el-date-picker
                    v-model="formData.ddsj"
                    type="datetime"
                    format="yyyy-MM-dd HH:mm"
                    value-format="yyyy-MM-dd HH:mm"
                    placeholder="选择日期"
                    default-time="12:00:00">
                </el-date-picker>
            </el-form-item>
        </el-col>
    </el-row>
</el-form>
Script:
data() {
      return {
           formData: {
               cfsj: '', // 出发时间
               ddsj: '', // 抵达时间
           },
           rules:{
			   cfsj: [
			         { required: true, message: '请选择出发时间', trigger: 'change' },
			         {
			             validator: this.getDdsj,
			             trigger: 'change',
			         },
			   ],
			   ddsj: [
			         { required: true, message: '请选择抵达时间', trigger: 'change' },
			         {
			             validator: this.getCfsj,
			             trigger: 'change',
			         },
			  ],
		 }
     }
}

methods:
// 出发时间和抵达时间校验 出发时间不能大于抵达时间
 getDdsj(rule, val, callback) {
  	// 符合校验时关闭抵达时间校验
      this.$refs['formData'].clearValidate(['ddsj']);
      if (val > this.formData.ddsj && this.formData.ddsj) {
          callback(new Error('出发时间不能大于抵达时间'));
      } else {
          callback();
      }
  },

  getCfsj(rule, val, callback) {
  	// 符合校验时关闭出发时间校验
      this.$refs['formData'].clearValidate(['cfsj']);
      if (val < this.formData.cfsj && this.formData.cfsj) {
          callback(new Error('出发时间不能大于抵达时间'));
      } else {
          callback();
      }
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值