当前位置: 首页 > news >正文

vue3+element-plus 表单校验和循环form表单校验

1.HTML页面

//el-form 标签添加上
ref="form2Form" :rules="rules2" :model="form2"

`正常表单校验` 

//没有循环表单的使用事例<el-form-item label="投保人名称"  class="insurance-date-no1" prop="tbrName"><el-input v-model="form2.tbrName" type="text" ></el-input></el-form-item>

、循环校验、

//循环校验 校验规则就嵌入在html里面
<div style="width: 100%"  class="add-item" v-for="(item,index) in form2.details" :key="index"><el-form-item label="名称" :prop="`details.${index}.bbrName`":rules="[{ required: true, message: '被保险人名称不能为空!', trigger: 'blur' }]" class="insurance-date-no1"><el-input v-model="item.bbrName" type="text" maxlength="30"></el-input></el-form-item>
</div>

 2、js数据内容

`校验规则`

const rules2 = {tbrName: [{ required: true, message: '投保人名称不能为空!', trigger: 'blur' },],tbrType: [{required: true, message: '投保人类型不能为空!', trigger: 'change',},],tbrCerttype: [{required: true, message: '投保人证件类型不能为空!', trigger: 'change',},],tbrCertno: [{ required: true, message: '投保人证件号不能为空!', trigger: 'blur' },],tbrPhone: [{ required: true, message: '投保人手机号不能为空!', trigger: 'blur' },{ min: 11, max: 11, message: '投保人手机号长度不对', trigger: 'blur' },{ pattern: /^1[3-9]\d{9}$/, message: '投保人手机号格式不正确', trigger: 'blur' }],tbrEmail: [{ required: true, message: '投保人邮箱不能为空!', trigger: 'blur' },{ pattern: /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/, message: '投保人邮箱格式不正确', trigger: 'blur' }],yymj: [{ required: true, message: '投保人名称不能为空!', trigger: 'blur' },],yyzz: [{required: true, message: '企业营业性质不能为空!', trigger: 'change',},],orgType: [{required: true, message: '企业类型不能为空!', trigger: 'change',},],spqyType: [{required: true, message: '食品企业类型不能为空!', trigger: 'change',},],
}

 `数据结构`

const form2 = ref({"applyNo": "", // 申请编号step1成功会返回"tbrName":"", // 投保人姓名"tbrType":"", // 投保人类型"tbrCerttype":"",//投保人证件类型"tbrCertno":"",//投保人证件编号"tbrPhone":"",//手机"tbrEmail":"",//邮箱"details":[{"bbrName": "", //被保险人名称"bbrType": "", //被保险人类型"bbrCerttype": "",//被保险人证件类型"bbrCertno": "",//被保险人证件编号"bbrDirthday":"",//被保险人出生日期"isMain": 1,//是否主被保险人"bbrOrgType": ""//被保险人企业性质}],"yymj":"",//营业面积(平方)"yyzz":"H621",//企业营业性质"orgType":"21",//企业类型"spqyType":"3"//食品企业类型
});

 3.提交按钮触发校验功能

/*** 完成提交*/
function submitFun(){form2Form.value.validate((valid) => {if (valid) {}});}

http://www.lryc.cn/news/362164.html

相关文章:

  • Java集合基础知识点系统性总结篇
  • 智能网联汽车信息安全风险识别与应对策略研究综述
  • python-web应用程序-Django数据库-数据库表设计
  • C#知识|封装典型的SQLServer数据库查询方法。
  • 第一篇 逻辑门(与门、或门、非门、异或门)
  • 车牌号码智能监测识别摄像机
  • Python局部变量:深入探索与实战应用
  • Java面试八股之怎么降低锁竞争
  • 数组的操作方法
  • RK3588 Android13添加开机logo或开机动画
  • JVM学习-监控工具(一)
  • 基础—SQL—DQL(数据查询语言)分页查询
  • 独立开发者通过这100种方式赚钱
  • gitlab服务器迁移(亲测有效)
  • 【刷题(12)】图论
  • FASTGPT:可视化开发、运营和使用的AI原生应用
  • 代码随想录-Day27
  • TalkingData数据统计:洞察数字世界的关键工具
  • printf 一次性写
  • 【Axure高保真原型】切换查看大图列表
  • Ant-Design-Vue动态表头并填充数据
  • Python-匿名函数
  • 探索Web3工具:正确使用区块链平台工具的秘诀
  • 器利而事善——datagrip 的安装以及连接mysql
  • C++标准模板(STL)- 迭代器库-迭代器原语-用于指示迭代器类别的空类类型
  • ClickHouse 使用技巧总结
  • 论文浅尝 | THINK-ON-GRAPH:基于知识图谱的深层次且可靠的大语言模型推理方法...
  • 前端科举八股文-VUE篇
  • Websocket服务端结合内网穿透发布公网实现远程访问发送信息
  • GitHub 的底层数据库从 MySQL 5.7 无缝升级到 MySQL 8.0 的实践经验