vue实现element表格嵌套表单进行复杂验证

来源:网络 文章列表 2020-06-19 8
表单嵌套在表格里的动态数据进行验证的解决办法

需求是表格需要能动态增加,然后又根据归还方式不同,如果是邮寄方式,后面快递信息都是必填。如果不是邮寄方式,那后面数据就不用填。先把效果展示出来

 

需要进行每一项表单里面的数据进行验证!

查element找到了需要的代码。

因为是动态的,所以prop绑定的时候需要不能唯一,就是动态数据。官方写法

:prop="'domains.' + index + '.value'"

其实主要就是这个了。然后添加验证规则就行。我直接附上代码记录一下

参考代码:

<el-table-column prop="returnType" label="归还方式" align='center' width="150">
  <template slot-scope="scope">
    <el-form-item :prop="'FC_ReturnEquipmentList.'+scope.$index+'.returnType'" label-width="0px"
      :rules='formContentRules.returnType'>
      <el-select size="mini" placeholder="归还方式" v-model="scope.row.returnType">
        <el-option v-for="item in returnTypeBox" :key="item.value" :label="item.label" :value="item.value">
        </el-option>
      </el-select>
    </el-form-item>
  </template>
</el-table-column>
<el-table-column prop="expressage" label="快递公司" align='center' width="180">
  <template slot-scope="scope">
    <el-form-item :prop="'FC_ReturnEquipmentList.'+scope.$index+'.expressage'" label-width="0px"
      :rules='formContentRules.expressage' v-if="scope.row.returnType=='postSend'">
      <el-input v-model="scope.row.expressage" placeholder="快递公司" size="mini"></el-input>
    </el-form-item>
    <span v-else></span>
  </template>
</el-table-column>

js代码

data(){
  return{
    returnTypeBox: [{ value: 'postSend', label: '邮寄方式' }, { value: 'theReturn', label: '现场归还' }],
    //校验规则
    formContentRules: {
      expressageNum: [{ required: true, message: '请填写', trigger: 'blur' }],
      expressage: [{ required: true, message: '请填写', trigger: 'change' }],
    },
  }
}

 

相关可能遇到的问题:

1.验证的样式不消失的问题

解决办法

说一下2种方式,大的表单全部重置:this.$refs[formName].resetFields();

小的局部的表单样式进行重置:this.$refs.xxx.clearValidate()

 

2.报el-form-item 设置 prop 报错:please transfer a valid prop path to form item!

解决办法:

el-form-item上的属性prop字段,必须是其父级组件el-form中绑定model字段中的一个直接子属性。仔细理解这句话!

 

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接