前端elementUI el-form个别字段增加校验

背景信息: 新需求是要将学员信息和训练用途增加为必填项,不想将整个el-form增减:rule校验,

只希望在这两个字段上扩展:

第一步: el-form-item 增加class="is-required" ,增加 label前边 红色的 * 号

第二步:el-form增加ref

el-form-item 增加 :rules={validator:自定义校验方法,trigger:触发方法}

复制代码
<el-form :inline="true" ref="courseForm">
       
       <el-col :span="6">
        <el-form-item  label="学员信息" prop="studentId" class="is-required" 
        :rules="{validator:validCascader,trigger: 'change'}">
          <el-cascader
              placeholder="试试搜索"
              :options="distStudent"
              filterable
              style="width: 310px;"
              v-model="sendForm.studentOpt"
              size="mini"
              clearable
              
            ></el-cascader>

        </el-form-item>
       </el-col>
       
        <el-col :span="6">
        <el-form-item label="训练用途" prop="lessonType" class="is-required"
          :rules="{validator:validLessonType,trigger: 'change'}"
        >
          <el-select v-model="sendForm.lessonType" clearable placeholder="请选择训练用途" size="mini">
            <el-option
              v-for="dict in dict.type.lesson_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        </el-col>
    </el-form>

第三步:提交表单

courseForm是el-form绑定的值,studentId是el-form-item绑定的prop值

this.$refs.courseForm.validateField('studentId')

复制代码
if (this.sendForm.studentOpt.length == 0) {

        this.$refs.courseForm.validateField('studentId')

        return

      } else if(!this.sendForm.lessonType) {

        this.$refs.courseForm.validateField('lessonType')

        return

      }  else {

}
相关推荐
怕浪猫3 小时前
FDE 如何正确解决现场项目工程性的问题
前端·后端·ai编程
西瓜太郎12343 小时前
外层模型卡片与分组详情成功率不一致,应该怎么排查?
前端·typescript·go·软件工程·react
GreenTea3 小时前
vLLM 与 SGLang KV Cache 底层实现机制深度调研报告
前端·后端·算法
毕业设计7036 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
xifangge20256 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
几何心凉6 小时前
没有万能模型:我用 AiiOnly Token Plan,把多款大模型的长处拼进同一个项目
前端
kyriewen6 小时前
Claude Code 的额度今天缩水了17%——官方公告上写的是"永久提高25%"
前端·ai编程·claude
雪芽蓝域zzs7 小时前
vue解构平铺VS对象包裹
前端·javascript·vue.js
风骏时光牛马8 小时前
从零到实战,完整AI学习路线
前端
三十而立洋8 小时前
深入理解 Monorepo:子包安装依赖
前端·前端工程化