除了一些简单的表单验证之外,我们还会有一些稍微复杂点的多层级表单的验证,如下图所示可点击添加,删除对数组进行操作,当点击确定时需要验证每一条form-item不能为空



tempalte部分主要代码如下所示:

<el-form :model="form" ref="cardForm" :rules="rules" label-position="top" >
<el-form-item v-for="(item, index) in form.CARD_RIGHTS_LIST" :label="'卡权益' + (index+1)" :key="index" :prop="`CARD_RIGHTS_LIST.${index}.RIGHT_NAME`" :rules="{required: true, message: `请输入信用卡权益${index+1}`, trigger: ['change']}">
<el-col :span="20">
<el-input v-model=" item.RIGHT_NAME" :maxlength="20" placeholder="请输入信用卡权益" clearable show-word-limit></el-input>
</el-col>
<el-col :span="4" style="text-align: right;">
<el-button v-if="form.CARD_RIGHTS_LIST.length > 1" icon="el-icon-delete" type="danger" plain @click.prevent="handleRemoveValue(index)">删除</el-button>
</el-col>
</el-form-item>
<el-form-item v-if="form.CARD_RIGHTS_LIST.length < max" class="last">
<div class="et-tag__button--add" @click="handleAddValue"><img :src="tagAddIcon" width="16px" height="16px" alt="">添加(最多{{max}}条)</div>
</el-form-item>
</el-form>
<el-form-item class="product-form__footer last" label="">
<el-button class="et-button" type="primary" @click="submitForm(form)">确认</el-button>
</el-form-item>

data部分代码如下:

form:{
CARD_RIGHTS_LIST:[{ID:'',RIGHT_NAME:''}],
},

methods部分如下:

//添加form-item
handleAddValue() {
this.form.CARD_RIGHTS_LIST.push({ID:'',RIGHT_NAME:""})
},
//删除form-item
handleRemoveValue(index) {
this.form.CARD_RIGHTS_LIST.splice(index, 1)
},
//提交form并且验证
submitForm() {
this.$refs.cardForm.validate((valid) => {
if (valid) {
this.$message.info("操作成功");
//此处加入自己需求
} else {
//此处加入自己需求
}
} else {
this.$message.info("请完善信息");
return ;
}
});
},

以上仅展示此处对应的需求代码,可直接根据自己的需求进行修改即可实现此功能

el-form 中的数组表单验证(数组可动态添加删除)的更多相关文章

  1. HTML5 Web Form 新增属性和表单验证

    <form>标签的基本属性 method属性:指定浏览器向服务器传送数据的方式,可选: action属性:设置服务器接受和处理表单数据的URL: enctype属性:制定表单数据在发送到服 ...

  2. AngularJS中使用的表单验证

    Reference: http://www.tuicool.com/articles/2Qbiqi 客户端表单验证是AngularJS里面最酷的功能之一. AngularJS表单验证可以让你从一开始就 ...

  3. (转)AngularJS中使用的表单验证

    原文  http://www.cnblogs.com/woshinidezhu/p/Form-validation-with-AngularJS.html 客户端表单验证是AngularJS里面最酷的 ...

  4. 在AngularJS中实现自定义表单验证

    除了一些已经定义好了的验证(例如 必填项.最小长度.最大长度)之外,更常用的,还是需要我们自己定义表单验证,这样才能对于项目中遇到的很多非常规问题给出自己的合适的解决方案. 在表单中控制变量 表单的属 ...

  5. yii框架中应用jquery表单验证插件

    效果图: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  6. (译) 在AngularJS中使用的表单验证功能【转】

    验证功能是AngularJS里面最酷炫的功能之一,它可以让你写出一个具有良好用户体验的Web应用. 在AngularJS中,有许多用于验证的指令.我们将先学习几个最流行的内置指令,然后再创建一个自定义 ...

  7. (译) 在AngularJS中使用的表单验证功能

    验证功能是AngularJS里面最酷炫的功能之一,它可以让你写出一个具有良好用户体验的Web应用. 在AngularJS中,有许多用于验证的指令.我们将先学习几个最流行的内置指令,然后再创建一个自定义 ...

  8. form表单 无法提交js动态添加的表单元素问题。。

    第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url   ...

  9. javascript中常见的表单验证项

    1.不能超过20个字符 <body> <form name=a onsubmit="return test()"> <textarea name=&q ...

随机推荐

  1. c++字符串替换

    #include <string> #include <iostream> using namespace std; string m_replace(string strSr ...

  2. Zookeeper中的Leader选取机制

    一.Zookeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应 ...

  3. matplotlib---设置坐标轴

    import matplotlib.pyplot as plt import numpy as np # 一维数组, 元素为从-3到3之间均匀地产生50个点 x = np.linspace(-3, 3 ...

  4. Dart语言基础

    文章目录 前言:dart语言简介 一.变量 1.1.类型推导 1.2.默认值 1.3.Final 和 const修饰符 二.内建类型 2.1.数据类型 2.2.集合的相关操作 三.函数 3.1.函数的 ...

  5. spring配置数据源(加载properties文件)

    1.在spring中引入properties配置文件需要引入context的命名空间和真实地址 2.然后加载文件 需要注意的是这是采用的是set注入方式,所以name属性值必须是连接池set方法名去掉 ...

  6. Django + Taro 前后端分离项目实现企业微信登录

    前言 还是最近在做的一个小项目,后端用的是Django搭配RestFramework做接口,前端第一次尝试用京东开源的Taro框架来做多端(目前需要做用于企业微信的H5端和微信小程序) 本文记录一下企 ...

  7. toString()函数与valueOf()函数

    一.前言 在等于运算符中,如果比较的内容包含对象类型数据,则会涉及隐式转换,那么就会调用toString()函数和valueOf()函数,下面我们将会了解到关于这两个函数的基本概念和使用场景. 二.t ...

  8. 把图片存储 canvas原生API转成base64

    1.LocalStorage有什么用? 2.LocalStorage的普通用法以及如何存储图片. 首先介绍下什么是LocalStorage 它是HTML5的一种最新储存技术.但它只能储存字符串.以前的 ...

  9. 『现学现忘』Git基础 — 10、配置Git用户签名说明

    目录 1.为什么要创建用户签名 2.为什么要在Git中配置这些信息 3.创建用户签名的方式 4.总结 1.为什么要创建用户签名 作为版本控制系统的客户端,每台客户机对版本库的所有提交操作,都需要注明操 ...

  10. oracle创建dblink注意事项 ORA-04052

    BEGIN; oracle创建dblink语句: create database link dblink名称 connect to 用户名 identified by 密码 using '(DESCR ...