element form rules 验证数组对象属性时如何写判断规则

  • 需求:一个el-form-item里放了2个下拉选择框,规定是最少选择一个,最多这俩都选择值;下拉框的值设置为对象了,所以这俩select的值组成了一个数组里的两个对象

  • 逻辑:感觉只需要把第一个下拉框值(即数组【0】)设置为必选属性,对起属性值进行判断,为空则报错

  • 知识点:elemenr的rules判断规则,如果是对对象的某个属性进行判断,需要双引号加改对象属性键名且el-form-item 上的prop 属性设置为需校验的字段名即可。

  • 另外:如果需要select的值为对象,需要在select 上 加上value-key="对象里属性的唯一值一般写userId"和el-option的:key="item.userId这俩值所用的属性名要一致

  • 代码

    js 复制代码
    	// html
    	<el-form-item label="参与人"  prop="auditors[0].userId">
    	                        <el-select v-model="form.data.auditors[0]" value-key="userId">
    	                            <el-option v-for="item in classname" :key="item.userId" :label="item.userName" :value="item"></el-option> 
    	                        </el-select>
    	                        <el-select  v-model="form.data.auditors[1]" value-key="userId" >
    	                            <el-option v-for="item in classname" :key="item.userId" :label="item.userName" :value="item"></el-option>                         
    	                        </el-select>
    	                    </el-form-item>
    js 复制代码
    //js
    data(){
    	return {
    	classname:[
    		{
    		    "userId": 1,
    		    "userName": "张三"
    		},
    		{
    		    "userId": 2,
    		    "userName": "lisi"
    		},
    	],
    	form:{
                    
                    data:{
                        auditors:[
                            {userId:null,userName:null},
                            {userId:null,userName:null},
                        ]
                    },
                    rules:{
                        "auditors[0].userId":{ required: true, message: '参与人', trigger: 'change' },
    
                    }
                },
    	}
    }
相关推荐
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
程序员大阳6 小时前
副队长JavaScript教程(50)-DOM:网页开发的起点
javascript·dom·es·节点·概念·document·关系
香芋芋圆10 小时前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
晗夜未央12 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
jktantan13 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
我命由我1234513 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
程序员大阳14 小时前
副队长JavaScript教程(65)-详解JSON:轻量级数据交换格式
javascript·json·序列化·反序列化·stringify·parse
小大宇15 小时前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
paopaokaka_luck16 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩16 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron