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">
相关推荐
你挚爱的强哥3 小时前
✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本
javascript·vue.js·jquery
y先森4 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy4 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189114 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿5 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡6 小时前
commitlint校验git提交信息
前端
天天进步20156 小时前
Vue+Springboot用Websocket实现协同编辑
vue.js·spring boot·websocket
虾球xz6 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇6 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒6 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript