给element from表单前面添加必填的星号但不触发校验

方法一:

直接在 el-form-item 上添加 class=“is-required”,相当于加了一个图标

只要打开界面添加该类的项就会显示红星,但是不会校验(校验功能需要另外写)

element就是通过is-required这个类把图标显示出来的

  <el-form-item label="a" prop="a" class="is-required">
      <el-input v-model="form.a" />
  </el-form-item>

方法二:

场景:在保存时只校验某些项,打开保存的表单后,提交时需要的所有校验项没填的都要显示红星

第一步:先写一个功能,可以自行设置rules规则里项是否进行校验

//写一个函数,能够控制除a,b,c,d以外的其他项是否进行校验(这里的a,b,c,d一直都是校验项)
function changeRequired(isRequired) {  
  var requiredItem = ["a", "b", "c", "d"];   //a,b,c,d是rules里的部分项
  for (var key in rules) {
    if (requiredItem.indexOf(key) < 0) { //rules规则里除a,b,c,d以外的项
      if (isRequired) {  //isRequired 值传的是true时
        rules[key][0].required = false;  //除a,b,c,d以外的项不需要检验,只校验a,b,c,d
      } else {  
        rules[key][0].required = true;  //否则除a,b,c,d以外的项需要检验
      }
    }
  }
}

然后在某个功能(一般是提交或者保存功能)里调用该函数

比如保存时,只有这四个需要校验,则调用 changeRequired(true)
提交时,全部项都要校验,调用changeRequired(false)

第二步:在打开表单页面时调用changeRequired(false), 给form表单赋值完成以后清空校验结果即可 (一定要在赋值完以后执行

formRef.value.clearValidate();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值