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

vue- form动态表单验证规则-表单验证

前言

  • 以element官网的form表单的-动态增减表单项为例讲解表单验证规则

  • 动态的功能就是v-model配合push + v-for 便利来实现的

  • 我们需要熟知2个知识点prop表单验证需要跟v-model绑定的值是一样的,

  • 如果是一个数组便利的表单,那就需要绑定这个数组每一项v-model值。

思路讲解

 

代码实例

<template><div><el-form:model="dynamicValidateForm"ref="dynamicValidateForm"label-width="100px"class="demo-dynamic"><el-form-itemprop="email"label="邮箱":rules="[{ required: true, message: '请输入邮箱地址', trigger: 'blur' },{type: 'email',message: '请输入正确的邮箱地址',trigger: ['blur', 'change'],},]"><el-input v-model="dynamicValidateForm.email"></el-input></el-form-item><el-form-itemv-for="(domain, index) in dynamicValidateForm.domains":label="'域名' + index":key="domain.key":prop="'domains.' + index + '.value'":rules="{required: true,message: '域名不能为空',trigger: 'blur',}"><el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">删除</el-button></el-form-item><el-form-item><el-button type="primary" @click="submitForm()">提交</el-button><el-button @click="addDomain">新增域名</el-button><el-button @click="resetForm()">重置</el-button></el-form-item></el-form></div>
</template>
<script>
export default {data() {return {dynamicValidateForm: {domains: [{value: "",},],email: "",},};},methods: {submitForm() {this.$refs.dynamicValidateForm.validate((valid) => {if (valid) {alert("submit!");} else {console.log("error submit!!");return false;}});},resetForm() {this.$refs.dynamicValidateForm.resetFields();},removeDomain(item) {var index = this.dynamicValidateForm.domains.indexOf(item);if (index !== -1) {this.dynamicValidateForm.domains.splice(index, 1);}},addDomain() {this.dynamicValidateForm.domains.push({value: "",key: Date.now(),});},},
};
</script>

总结:


经过这一趟流程下来相信你也对 vue- form动态表单验证规则-表单验证 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕

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

相关文章:

  • FPGA学习—通过数码管实现电子秒表模拟
  • 区块链媒体发稿:区块链媒体宣发常见问题解析
  • openGauss学习笔记-28 openGauss 高级数据管理-NULL值
  • DAO和XML文件参数和返回值
  • vue 浏览器右侧可拖拽小组件
  • SpringMvc学习笔记五
  • ORACLE-DG总结
  • 机器学习中的 K-均值聚类算法及其优缺点
  • 【数据化分析和建模】一般步骤(个人工作经验总结)
  • 视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明
  • T31开发笔记:librtmp拉流测试
  • 2308C++概念化
  • flutter开发实战-实现自定义按钮类似UIButton效果
  • 深度优先搜索|1034, 1020, 1254
  • 都市信息供求网servlet+jsp新闻广告出售java源代码mysql
  • kubeadm init:failed to pull image registry.k8s.io/pause:3.6
  • 设计模式之简单工厂模式、工厂模式、抽象工厂模式
  • C# 控制台彩色深度打印 工具类
  • Pytorch Tensor维度变换方法
  • 微信小程序之点击文字文字自动转语音进行播放,微信小程序文字识别转语音播放
  • 主动学习、半监督学习、它们之间的区别?
  • linux快速安装Rabbitmq
  • spconv1.2.1库的编译与安装
  • java+springboot+mysql企业邮件管理系统
  • [CKA]考试之一个 Pod 封装多个容器
  • iphone备份用什么软件?好用的苹果数据备份工具推荐!
  • 一语道破 python 迭代器和生成器
  • 有哪些开源和非开源的项目管理工具?
  • 实战 01|「编写互动式界面」
  • 开源社区寻找八月创作之星!你准备好了吗~