Vue表单组件el-form校验规则rules,条件判断rules表单验证显示必填或非必填

在使用 Element UI(一个基于 Vue 的前端框架)的表单验证功能时,你可能想要实现一个规则,使得某些字段在特定条件下成为必填项,或者在满足某些条件时不允许为空。这通常通过自定义校验规则来实现。

复制代码
<template>
   <div class="psu-title">提交信息</div>
   <el-form :model="formData" :rules="rules" ref="form" label-width="150px">
     <el-form-item label="是否通过:" prop="auditStatus">
       <el-radio-group v-model="formData.auditStatus">
         <el-radio label="1">通过</el-radio>
         <el-radio label="0">不通过</el-radio>
       </el-radio-group>
     </el-form-item>
     <el-form-item label="备注备注:" prop="auditRemark" :rules="formData.auditStatus === '0' ? rules.auditRemark:[{require: false}]">
       <el-input type="textarea" maxlength="100" placeholder="请输入" :rows="4" show-word-limit v-model="formData.auditRemark"></el-input>
     </el-form-item>
   </el-form>
   <div style="text-align: right;">
     <el-button>确定</el-button>
     <el-button>取消</el-button>
   </div>
</template>
export default {
  data() {
    return {
      formData: {
        auditStatus: '',
        auditRemark: '',
      },
      rules: {
        auditStatus: [ { required: true, message: '请选择', trigger: 'change' }],
        auditRemark: [ { required: true, message: '请输入', trigger: 'blur' }],
      },
    };
  },
 
  methods: {
    //方法...
  },
};
</script>
相关推荐
qq_589666053 小时前
TypeScript 完整入门教程
前端·javascript·typescript
星栈独行5 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
落落Plus5 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
浅水壁虎8 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥8 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
mONESY9 小时前
React useState 核心原理与最佳实践:从异步更新到性能优化全解
javascript
腻害兔9 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
gis开发之家10 小时前
《Vue3 从入门到大神37篇》Vue3 源码详解(七):watch 与 watchEffect 源码对比——副作用是如何被追踪的?
javascript·前端框架·vue3·vue3源码
bloglin9999911 小时前
langchain 和 langgraph 和 react
javascript·react.js·langchain
触底反弹11 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js