Element 表单验证项v-model绑定值为对象下嵌套的子对象的属性时无法验证

问题:input绑定的值是对象 obj 下面的子对象 obj.id 时,绑定的rules校验不生效。会出现已经输入值但还会提示id必填的情况。正常情况下绑定校验没有问题

复制代码
<el-form ref="dataForm" :rules="rules" :model="temp">
      <el-form-item label="编号:" prop="id" >
        <el-input v-model="temp.obj.id" />
      </el-form-item>
      <el-form-item label="姓名:" prop="name" >
        <el-input v-model="temp.name" />
      </el-form-item>
</el-form>


temp: {
  obj: { id: '', pass: '' },
  name: '',
},

rules: {
  id: [
    { required: true, message: 'id必填', trigger: 'change' },
  ],
  name: [
    { required: true, message: 'name必填择', trigger: 'change' },
  ],

解决方案1 :在规则定义与绑定时,prop 绑定的规则结构 与rules下的数据结构 'obj.id' 一致

复制代码
<el-form ref="dataForm" :rules="rules" :model="temp">
    <el-form-item label="编号:" prop="obj.id" >
      <el-input v-model="temp.obj.id" :disabled="true" />
    </el-form-item>
</el-form>

rules: {
  'obj.id': [
    { required: true, message: 'id必填', trigger: 'change' },
  ],
}

解决方案2:表单绑定的数据对象修改成对象的子对象

复制代码
<el-form ref="dataForm" :rules="rules" :model="temp.obj">
相关推荐
全栈前端老曹6 分钟前
【前端路由】Vue Router 嵌套路由 - 配置父子级路由、命名视图、动态路径匹配
前端·javascript·vue.js·node.js·ecmascript·vue-router·前端路由
EndingCoder14 分钟前
安装和设置 TypeScript 开发环境
前端·javascript·typescript
张雨zy1 小时前
Vue 项目管理数据时,Cookie、Pinia 和 LocalStorage 三种常见的工具的选择
前端·javascript·vue.js
五月君_1 小时前
Nuxt UI v4.3 发布:原生 AI 富文本编辑器来了,Vue 生态又添一员猛将!
前端·javascript·vue.js·人工智能·ui
!执行1 小时前
遇到 Git 提示大文件无法上传确实让人头疼
前端·github
源码获取_wx:Fegn08951 小时前
基于springboot + vue小区人脸识别门禁系统
java·开发语言·vue.js·spring boot·后端·spring
坚持学习前端日记2 小时前
个人网站从零到盈利的成长策略
前端·程序人生
CamilleZJ2 小时前
eslint+prettier
前端·eslint·工程化·prettier
web小白成长日记2 小时前
深入理解 React 中的 Props:组件通信的桥梁
前端·javascript·react.js
tjswk20082 小时前
在ios上动态插入元素的列表使用:last-child样式可能不能及时生效
前端