vue2 elementui动态必填项

案例,选择类型值为是,控制内容必填,如果内容有值,内容的字数不小于3

<template>
  <div>
    <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px">
      <el-form-item label="类型" prop="type">
        <el-select v-model="form.type" placeholder="请选择类型">
          <el-option label="是" value="1"></el-option>
          <el-option label="否" value="2"></el-option>
        </el-select>
      </el-form-item>
      <!-- <el-form-item label="内容" :prop="form.type == '1' ? 'content' : ''"> -->
      <el-form-item label="内容" prop="content" :rules="[{required: form.type == '1', message: '必填'},{ pattern: /^.{3,}$/, message: '输入内容长度不能小于3', trigger: 'blur' } ]">
        <el-input v-model="form.content" placeholder="请输入内容"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submitForm('ruleForm')"
          >立即创建</el-button
        >
        <el-button @click="resetForm('ruleForm')">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>
<script>
export default {
  data() {
    return {
      form: {
        type: null,
        content: null,
      },
      rules: {
          type: [{ required: true, message: "必填", trigger: "blur" }],
        },
    };
  },
  methods: {
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert("submit!");
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
  },
};
</script>
<style scoped>
</style>


核心代码配置项

prop="content" 
:rules="[{required: form.type == '1', message: '必填'},{ pattern: /^.{3,}$/, message: '输入内容长度不能小于3', trigger: 'blur' } ]"

注意:在el-form-item标签上添加了rules,必须得添加上prop的属性和值才生效prop的值可以是任意的唯一值

相关推荐

  1. vue2 elementui动态

    2024-03-28 21:20:05       46 阅读
  2. vue设置

    2024-03-28 21:20:05       35 阅读
  3. 【Android】TextView前增加红色星号*

    2024-03-28 21:20:05       47 阅读
  4. vue2 elementui 封装一个动态表单复杂组件

    2024-03-28 21:20:05       45 阅读
  5. vue2 elementui 封装一个动态表格复杂组件

    2024-03-28 21:20:05       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 21:20:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 21:20:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 21:20:05       82 阅读
  4. Python语言-面向对象

    2024-03-28 21:20:05       91 阅读

热门阅读

  1. QT TCP和UDP网络编程

    2024-03-28 21:20:05       44 阅读
  2. vue3 实现一个拖拽自定义指令

    2024-03-28 21:20:05       45 阅读
  3. leetcode-简单-数组算法题

    2024-03-28 21:20:05       40 阅读
  4. SpringBoot程序启动流程解析

    2024-03-28 21:20:05       36 阅读
  5. mysql中数据类型与取值范围

    2024-03-28 21:20:05       42 阅读
  6. 低噪声放大器简略

    2024-03-28 21:20:05       43 阅读
  7. jvm高级面试题-2024

    2024-03-28 21:20:05       41 阅读
  8. ThinkPHP8多应用配置

    2024-03-28 21:20:05       42 阅读
  9. 第十四届蓝桥杯省赛Python组真题(未完)

    2024-03-28 21:20:05       37 阅读