大概是这个样式

两个上传组件写在一个form-item里进行自定义表单验证

每次验证,通过判断上传组件绑定的值进行判断,callback不同的提示错误

<template><div><el-form :model="personalForm" :rules="rules" ref="personalForm" label-width="180px"><el-row><el-col :span="24"><el-form-item label="身份证证件照:" required style="" prop="merIdenImgFront"><el-row type="flex" justify="space-between" class="uploadidcard"><el-col :span="10"><el-uploadclass="idCard1":action="uploadURL"list-type="picture-card":show-file-list="false":on-success="handleAvatarSuccess1"accept=".JPG, .png, .jpeg"multiple="multiple":on-change="idenImghandleChange"><img v-if="merIdenImgFront" :src="merIdenImgFront" class="avatar" style="width:100%;height:100%"></el-upload></el-col><el-col :span="10"><el-uploadclass="idCard2":action="uploadURL"list-type="picture-card":show-file-list="false":on-success="handleAvatarSuccess2"accept=".JPG, .png, .jpeg"multiple="multiple":on-change="idenImghandleChange"><img v-if="merIdenImgBack" :src="merIdenImgBack" class="avatar" style="width:100%;height:100%"></el-upload></el-col></el-row></el-form-item></el-col></el-row><el-form-item label=""> <p style="color:#888">注:以上所需上传照片仅支持JPEG、GIF、PNG格式的图片,大小不超过2M。</p></el-form-item><el-form-item label=""><div class="btn-wrap"><button type="button" @click="personalSubmit('personalForm')">提交</button></div></el-form-item></el-form></div>
</template>
<script>
export default {data() {// 身份证正面验证var validateImgFront=(rule, value, callback)=>{//(关键代码)if(this.personalForm.merIdenImgFront==''&&this.personalForm.merIdenImgBack==''){return callback(new Error('附件不能为空'))}else if(this.personalForm.merIdenImgFront==''){return callback(new Error('请上传身份证正面'))}else if(this.personalForm.merIdenImgBack==''){return callback(new Error('请上传身份证背面'))}else{callback()}};return {uploadURL:'',//自己的上传地址personalForm:{merIdenImgFront:'',//身份证正面merIdenImgBack:'',//身份证反面},merIdenImgFront:'',merIdenImgBack:'',rules:{// 身份证正反面merIdenImgFront: [{validator: validateImgFront, trigger: 'change'}]}}   },methods:{// 上传身份证正面成功handleAvatarSuccess1(response, file, fileList){this.merIdenImgFront=file.url;//保存临时图片this.personalForm.merIdenImgFront=response;//保存到提交表单},// 上传身份证反面成功handleAvatarSuccess2(response, file, fileList){this.merIdenImgBack=file.url;//保存临时图片this.personalForm.merIdenImgBack=response;//保存到提交表单},// 身份证表单验证idenImghandleChange(){this.$refs.personalForm.validateField('merIdenImgFront');//对部分表单字段进行校验的方法,也就是手动进行表单验证(关键代码)},//提交personalSubmit(formName){this.$refs[formName].validate(async(valid) => {if (valid) {console.log('OJBK')} else {return false;}});},}
}
</script>

有一个问题是,点击图片上传后,就已经请求接口上传了。

正常来说,应该是点击提交后,才能进行上传。懒得改了,大家懂就行.

记录element-ui自定义表单验证上传身份证正反面相关推荐

  1. element自定义表单验证上传身份证正反面的实现

    效果图 <template>     <div>         <el-form :model="personalForm" :rules=&quo ...

  2. Element UI自定义表单验证 公共提取

    2019独角兽企业重金招聘Python工程师标准>>> 主要代码: util文件夹下validate.js 文件 export const VDT = {messages:{requ ...

  3. 小程序基础开发(四):weui-wxss组件表单页面,WxValidate.js组件表单验证上传

    一,使用weui-wxss组件做一个表单页面 WeUI组件库简介 这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库,由微信官方设计团队和小程序团队为微信小 ...

  4. 上传多张图片的html表单,element在form表单里上传多张张图片

    1.template里面 title="新增" :visible.sync="Visible" width="30%" > ref=& ...

  5. vue + element 自定义表单验证的时候 需要通过请求后端接口验证

    vue + element 自定义表单验证的时候 需要通过请求后端接口验证 做vue项目的时候遇到了一个需求,在验证某个表单项时不仅需要是必填项而且要去通过接口校验是否有重复值. // templat ...

  6. 表单验证与自定义表单验证

    / 验证规则 rules: { // 多个验证用数组 单个验证用对象// 验证账号acc: [{ required: true, message: '不能为空', trigger: 'blur' }, ...

  7. iview自定义表单验证

    @[TOC] iview自定义表单验证 之前总结过iview简单表单验证: https://blog.csdn.net/A_LL_IS_WELL/article/details/111227468ht ...

  8. ant-design-vue 表单验证和 validator 自定义表单验证

    在 ant-design-vue 中,提供 FormModel 表单组件,且支持 v-model 数据绑定,同时可以校验和提交功能的表单. 一.表单验证 <a-form-modelref=&qu ...

  9. vux使用方法 php,如何使用vux-ui自定义表单验证

    这次给大家带来如何使用vux-ui自定义表单验证,使用vux-ui自定义表单验证的注意事项有哪些,下面就是实战案例,一起来看一下. 初学框架vue搭配vux使用发现这个UI库使用有些力不从心.下面说说 ...

最新文章

  1. 广电系统三八红旗集体推荐材料_【原创】怎么把好几千字的材料压缩成500字?这些方法推荐给你!...
  2. beta book读书俱乐部的构思
  3. HDU 2859 Phalanx (dp)
  4. 【转载】ESFramewor使用技巧(2)-- 在插件中使用NHibernate
  5. mysql 存储过程求和_MySQL - 存储过程和函数
  6. c语言中listnode是什么意思,怎么理解typedef Node * List
  7. ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补
  8. linux 账号管理与ACL权限设定
  9. css案例学习之id要唯一
  10. 路径 @/ ~/ / ./ ../
  11. vivado 2017 安装教程
  12. Creative Cloud Cleaner Tool mac卸载adobe系列软件详细教程
  13. 手机如何卸载android,怎样删除手机自带软件(安卓手机自带软件怎么卸载)
  14. dgen模拟器 linux,怎么样在Linux/FreeBSD下玩模拟器游戏
  15. 超级硬干货| 电脑蓝屏代码大全及解决办法合集
  16. 多项式拟合缺点_多项式拟合
  17. java linest_不要再纠结in和exists——JAVA伪代码直白分析二者时间复杂度
  18. JS获取指定日期前后N天的日期、前N个月日期、后N个月日期
  19. css如何去掉或修改浏览器默认滚动条
  20. System获取当前系统时间

热门文章

  1. Java Web 学习笔记01 HTML基本用法
  2. 杠铃策略--极稳极浪不内卷
  3. Sketch:无损放大像素画
  4. IMSI、TMSI和P-TMSI
  5. 如何将多台物理机整合成一台
  6. 王者荣耀孙策520皮肤特效展示 孙策520皮肤值得买吗
  7. openGL之API学习(四十七)layout作用详解
  8. Lightly:新一代的 Go IDE
  9. 电脑图标变大了怎么办?
  10. 2022-2028年中国城市轨道交通运维检修行业市场专项调研及竞争战略分析报告