vue3-踩坑记录-<el-form-item>中包含多个内容并给其中一个增加非空校验。

文章讲述了在使用Element-Plus框架构建表单时,如何处理一个表单元素内包含多个内容的校验问题,特别是涉及switch开关控制时间选择组件的必填和显隐。作者遇到的挑战是表单校验未触发,但通过在外层添加el-form-item标签成功解决了问题。这是一个关于Vue.js组件和表单验证的技巧分享。
摘要由CSDN通过智能技术生成

1、用element-plus做的表单提交。其中有一个表单元素包含了多个内容。大体上就是需要用一个switch开关控制里面的一个时间选择组件的必填校验以及显隐。如截图👇。

普通状态:

出发非空校验:

 

 因为之前没有写过一个item里面有多个内容而且还要单独做一个元素的非空校验,所以就导致不触发校验。直到我再时间选择控件的外层套了一层<el-form-item>标签。我发现。。。他好了。。。瞬间恍然大悟!
 

        <el-form-item label="立即发布:" :rules="infoForm.publishNow ? [{ required: false }] : infoRules.specifyTime" class="formItemStyle">
          <div class="pushNowStyle">
            <el-switch v-model="infoForm.publishNow" @change="publishChange" style="--el-switch-on-color: #13ce66" />
            <div class="showPicker" v-if="!infoForm.publishNow">
              <p>指定时间</p>
              <el-form-item prop="specifyTime">
                <el-date-picker v-model="infoForm.specifyTime" type="datetime" placeholder="选择时间" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY/MM/DD HH:mm:ss" />
              </el-form-item>
            </div>
          </div>
        </el-form-item>

这个问题解决了2个多小时,仅此记录。共勉。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值