记一次el-form提交时未进入validate

//结束时间不早于开始时间

const disabledEndDateFn = (rule, value, callback) => {

  if (addForm.value.playStartTime && addForm.value.playEndTime) {

    let flag = true

    flag = compareTime(addForm.value.playStartTime, addForm.value.playEndTime)

    if (!flag) {

      callback(new Error('结束时间不能早于开始时间'))

    }

  } else {

    callback()

  }

}

代码逻辑正确,校验不通过时能打印出error,但校验通过时无法打印出valid导致后续逻辑无法执行,翻阅大佬代码,发现是自定义校验函数问题,需确保自定义校验函数的每一个分支都有callback执行,否则无法进入校验

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
el-form中嵌套el-form提交数据时,你可以使用以下方法操作: 1. 首先,为了在el-form中嵌套el-form,你需要在外层form表单中使用ref属性来标识它。 2. 在内层的el-form中,你可以使用prop属性来绑定对应的数据字段。 3. 在提交数据时,你可以在外层form表单的提交方法中,通过调用内层form表单的validate方法来校验内层form表单的数据。 4. 在校验通过后,你可以继续执行你的其他操作,比如调用接口等一系列正常操作。 下面是一个示例代码,展示了如何在el-form中嵌套el-form提交数据的操作: ```javascript <template> <el-form ref="outerForm" :model="formData" :rules="formRules" @submit="submitForm"> <!-- 外层form表单的内容 --> <el-form-item label="外层字段"> <el-input v-model="formData.outerField"></el-input> </el-form-item> <!-- 内层form表单 --> <el-form ref="innerForm" :model="formData.innerData" :rules="innerFormRules"> <!-- 内层form表单的内容 --> <el-form-item label="内层字段"> <el-input v-model="formData.innerData.innerField"></el-input> </el-form-item> <!-- 其他内层表单字段... --> </el-form> <!-- 提交按钮 --> <el-button type="primary" native-type="submit">提交</el-button> </el-form> </template> <script> export default { data() { return { formData: { outerField: '', innerData: { innerField: '' } }, formRules: { outerField: [ { required: true, message: '请输入外层字段', trigger: 'blur' } ] }, innerFormRules: { innerField: [ { required: true, message: '请输入内层字段', trigger: 'blur' } ] } }; }, methods: { submitForm() { // 校验内层form表单的数据 this.$refs.innerForm.validate().then(() => { // 内层form表单校验通过后执行的操作 // 可以在这里调用接口等一系列正常操作 // 内层form表单数据校验通过后,再提交外层form表单的数据 this.$refs.outerForm.validate().then(() => { // 外层form表单校验通过后执行的操作 // 可以在这里继续执行你的其他操作,比如调用接口等一系列正常操作 }); }); } } }; </script> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值