表格的输入校验

elementui笔记:el-table表格的输入校验

    <div id="blogColumnPayAdvert">
        <div class="column-group">
            <div class="column-group-item column-group0 ">
                <div class="item-l">
                    <a class="item-target" href="https://blog.csdn.net/qq_43523725/category_10826938.html" target="_blank" title="前端提高" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6332&quot;}">
                        <img class="item-target" src="https://i-blog.csdnimg.cn/blog_migrate/71c024dc224597326e838b8a1cb12c4d.png" alt="">
                        <span class="title item-target">
                            <span>
                            <span class="tit">前端提高</span>
                                <span class="dec more">同时被 2 个专栏收录<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/newArrowDown1White.png" alt=""></span>
                            </span>
                        </span>
                    </a>
                </div>
                <div class="item-m">
                    <span>142 篇文章</span>
                    <span>4 订阅</span>
                </div>
                <div class="item-r">
                        <a class="item-target article-column-bt articleColumnFreeBt" data-id="10826938">订阅专栏</a>
                </div>
            </div>
            <div class="column-group-item column-group1 ">
                <div class="item-l">
                    <a class="item-target" href="https://blog.csdn.net/qq_43523725/category_11147097.html" target="_blank" title="杂记——趣味百汇" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6332&quot;}">
                        <img class="item-target" src="https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224" alt="">
                        <span class="title item-target">
                            <span>
                            <span class="tit">杂记——趣味百汇</span>
                            </span>
                        </span>
                    </a>
                </div>
                <div class="item-m">
                    <span>8 篇文章</span>
                    <span>0 订阅</span>
                </div>
                <div class="item-r">
                        <a class="item-target article-column-bt articleColumnFreeBt" data-id="11147097">订阅专栏</a>
                </div>
            </div>
        </div>
    </div>
<article class="baidu_pl">
    <div id="article_content" class="article_content clearfix">
    <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-b3c43d3711.css">
            <div id="content_views" class="markdown_views prism-atom-one-dark">
                <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                    <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                </svg>
                <p>之前做得比较多的校验是在el-form表单里做的,但有时也遇到,需要在table内输入数据,然后校验输入的数据是否符合要求的情况。因此记录一下。</p> 

思路:
1.需要借助el-form的校验,el-table外层嵌套一层el-form,使用el-form的校验机制
2.由于每行都需要校验,因此需要借助scope.$index
3.借助一个提交按钮,测试校验

效果:
1.不输入数据,直接点击“提交”触发校验,由于数据没有输入,校验不通过,给出校验提示
2.点击输入框输入,点击某一个字段,即正在输入状态,这个字段的校验结果就会被清除(clearValidate)
3.数据都填好之后,点击“提交”,再次触发校验
4.校验通过,显示全屏提示是否提交,点击“确定”即可,控制台会打印“校验通过”

在这里插入图片描述

例子:
html:

    <div id="app">
      <el-form class="base-form" ref="baseForm" :model="baseForm" :rules="rules" auto-complete="on">
        <el-table ref="table-input" class="table" highlight-current-row :data="baseForm.demoList">
          <el-table-column label="姓名" show-overflow-tooltip>
            <template slot-scope="scope">
              <el-form-item :prop="'demoList.'+scope.$index+'.name'" :rules="rules.name" class="all">
                <el-input v-model="scope.row.name" placeholder="请输入" clearable @focus="$refs.baseForm.clearValidate(`demoList.${scope.$index}.name`)"></el-input>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="年龄" show-overflow-tooltip>
            <template slot-scope="scope">
              <el-form-item :prop="'demoList.'+scope.$index+'.age'" :rules="rules.age" class="all">
                <el-input v-model="scope.row.age" placeholder="请输入" clearable @focus="$refs.baseForm.clearValidate(`demoList.${scope.$index}.age`)"></el-input>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="出生日期" show-overflow-tooltip>
            <template slot-scope="scope">
              <el-form-item :prop="'demoList.'+scope.$index+'.birthday'" :rules="rules.birthday" class="all">
                <el-date-picker placeholder="请选择" v-model="scope.row.birthday" format="yyyy-MM-dd" clearable @focus="$refs.baseForm.clearValidate(`demoList.${scope.$index}.birthday`)"></el-date-picker>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="详细地址" show-overflow-tooltip>
            <template slot-scope="scope">
              <el-form-item :prop="'demoList.'+scope.$index+'.address'" :rules="rules.address" class="all">
                <el-input v-model="scope.row.address" placeholder="请输入" clearable @focus="$refs.baseForm.clearValidate(`demoList.${scope.$index}.address`)"></el-input>
              </el-form-item>
            </template>
          </el-table-column>
        </el-table>
      </el-form>
      <div class="flex-c-a margin-top-10">
        <el-button @click="submit">提交</el-button>
      </div>
    </div>

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

data:此处只举例一行,多行的效果可自行加数据测试

           baseForm: {
               demoList: [
                {
                  name: "",
                  age: "",
                  birthday: "",
                  address: ""
                }
                ]
            },
            index: 0,
            rules: {
              name: [
                {
                  required: true,
                  message: "请输入姓名",
                  trigger: "blur"
                }
              ],
              age: [
                { required: true, message: "请输入年龄", trigger: "blur" }
              ],
              birthday: [
                { required: true, message: "请选择出生日期", trigger: "change" }
              ],
              address: [
                { required: true, message: "请输入详细地址", trigger: "blur" }
              ],
            }

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

method:
给一个提交按钮,测试校验

// 提交核对账目
submit() {
    this.$refs.baseForm.validate((valid) => {
         if (valid) {
            this.$confirm("您确定【提交】?", "提示", {
               confirmButtonText: "确定",
               cancelButtonText: "取消",
               type: "warning"
            }).then(() => {
               console.log("校验通过")
            })
         }
     })
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

例子里使用的css:

  .all {
    width: 100%;
  }
  .flex-c-a {
    display: flex;
    align-items: center;
    justify-content: space-around;
  }
  .margin-top-10 {
    margin-top: 10px;
  }
  .base-form.el-form-item__content {
    margin-left: 0;
  }

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

完成

</article>
  • 6
    点赞
  • 15
    收藏
  • 打赏
    打赏
  • 2
    评论
  •             </div>
            </li>
        </ul>
        </div>
        <div class="toolbox-right">
                <div class="tool-directory">
                    <a class="bt-columnlist-show" data-id="10826938" data-free="true" data-subscribe="false" data-title="前端提高" data-img="https://i-blog.csdnimg.cn/blog_migrate/71c024dc224597326e838b8a1cb12c4d.png" data-url="https://blog.csdn.net/qq_43523725/category_10826938.html" data-sum="142" data-people="4" data-price="0" data-oldprice="0" data-join="false" data-studyvip="false" data-studysubscribe="false" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6334&quot;,&quot;extend1&quot;:&quot;专栏目录&quot;}">专栏目录</a>
                </div>
        </div>
    </div>  
    
vue element table中自定义一些input 验证操作
01-19
官网原话 Form 组件提供了表单验证 功能,只需要通过 rules 属性传入约定 验证规则,并将 Form -Item prop 属性 设置为需 校验 字段名即可。 表单 el -form表单必备以下三个属性

:model=”ruleForm” 绑定数据内容

:rules=”rules” 动态绑定rules,表单验证规则

ref=”ruleForm” 绑定对象

template模块
其实问题关键就在于如何给el-form-item动态绑定prop
:prop=”‘tableData.’ + scope.$index + ‘.字段名’”

<div cl


Elementui el -input 输入框 校验以及 校验表单 校验_长春...
6-13
1. 过滤字母e,在js中属于数字,但是正则表达式 \d 是拦不住字母e < el -inputtype="number"placeholder="请 输入"min="1"onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.wh...
Element -ui 输入框验证_Mr.app 博客_ element 输入框 校验
6-2
只允许 输入汉字 dtiChinese: [{ pattern: /^[\u4e00 -\u9fa5]+$/gi, message: '表中文名不能包含数字及特殊字符', trigger: 'blur' }, { type: 'string', required: true, message: '请 输入表中文名', trigger: 'blur'...
Vue中 对 Table 表格 输入项进行 校验
12-22 5706
项目开发中,经常会遇到在场景 table 表格 输入项字段进行 校验,同时提交时整体 校验,效果如图所示

Table:

!!这个校验实现,主要思路是1.From表单中嵌套使用table表格,用表单校验机制实现校验

2.ivu-form-item元素,绑定动态prop;

html代码如下,本次项目里样式用了 View UI ,element其他,也同样适用这个校验方法

<template>
<div class=“wrapper”>
<…


element ui table 表格嵌入 输入框输入框无法 输入
可以看到,图片上标出 输入框,此时是无法 输入得,

附上代码

<el-table-column
prop=“number”
label=“数量”
align=“center”
>
<template slot-scope=“scope”>
<el-input v-model=“scope.row.number” type=“number” size=“mini” placeholder=“请输入内 容”>&lt…


element -ui之input格式 校验_我 昵称 设置 博客 -CSDN博...
5-18
element -ui之input格式 校验输入键盘抬起时触发这个事件, this.value表示此 输入框 值,/\D/g为正则表达式,用来匹配所有非数字字符
记录vue+ elementui 动态添加 输入选择框并增加 校验_过去...
8-7
一个新 需求,需要动态添加选择条件,虽然可以实现了,但是在 校验提示部分感觉欠佳,直接通过$message 方式提示不够友好,最后通过网上示例完善 校验,对部分几个点做个人总结。 实现思路: 1.由于vue是通过数据驱动展示页面内容,那么可以通过“...
vue 表格 输入框验证
最新发布
1、 表格数组需要 el -form optForm点出来

2、在data里面定义rules


Elementui el -input 输入框 校验以及表单 校验
热门推荐
日常开发中 输入框正则 校验大全 - - - - - - -持续更新维护中.......
element ui自定义表单 校验(一行多个 输入框必填及大于等...
6-15
公共 校验rules.js exportletrequired={required:true,message:"该项为必填项",trigger:"blur"}exportletpositiveIntNum={pattern:/^[1 -9]\d*$/,message:'只能 输入大于等于1 正整数'}exportlettwoFloat={pattern:/^([0 -9]*)+(...
Elementui表格每一行Input框添加表单验证_柰文魔...
6-26
Elementui表格每一行Input框添加表单验证 需求:为 表格每一行input 输入框添加表单验证(每行有多个input框) 效果: html部分: < el -form:mod el="forms"ref="forms":rules="rules">< el - tableref="multiple Table":data="forms...
el - table + form.rules 动态 表格+表单验证
el - table + form.rules 动态 表格+表单验证 重点在data, 重构数据结构,把rules 和 表单数据 ,放在一个对象里

<template>
<el-form :model=“ruleForm” :rules=“ruleForm.rules” ref=“formRef”>
<el-table :data=“ruleForm.familyList” style=“width: 100%;” :row-style="{height:70+‘px’}


elementUI 输入框自带 校验
如何使用?根据示例复制代码 <my -input -number v -mod el="rulesIndex Table.indexValueInput" tip="请 输入指标分值" :precision="2" :step="0.01" :style -is -center="false" />

子组件 myInputNumber.vue
默认


VUE专题 自定义 element 输入框 校验方式_极光雨雨 博客
7-31
VUE专题 自定义 element 输入框 校验方式 template中 其中这里看到 标签可能和实际使用 elementUI中不一致,实际上只是稍微换了下大小写和显示 名称,下面其实都是原生 elementUI组件。 下面是联系方式 自定义 校验,主要看 :rules中 内容...
Elementui el -input 输入框 校验以及 校验表单 校验
Elementui el -input 输入框 校验以及 校验表单 校验常用 element -ui el -input 输入框`/^[1 -9]\d*$/正则表达式代表意思` 常用 element -ui el -input 输入框

过滤字母e,在js中属于数字,但是正则表达式 \d 是拦不住字母e
. 只能输入正整数

<el-input type=“number” placeholder=“请输入” min=“1” onKeypress="return (/[\d]/.test(String.fromC


el - table内表单 校验
el - table单元格 校验
element - table中,进行表单 校验
需求 element - table中,进行表单 校验 简单记录 贴图走起…… 表单 table数据

数据部分

此处字段根据后台字段返回决定

校验正则

Element UI Table实现可编辑 表格+ 校验(行和行,列和列)
Element UI Table实现可编辑 表格+ 校验(行和行,列和列)
element 表格中 多个 输入框 怎么 校验 el -form 动态验证规则 el - table中检验多个input
07-23 5234
问题 element 表格中需要验证多个 输入框,如下图

解决表格中加入el-form-item,上代码

<el-form ref=“form” :model=“form” label-width=“120px” :rules=“rules”>
<el-form-item label=“优惠券配置” prop=“payload”>
<el-table :data=“form.payload” border class=“padloadTable”&g.


vue+ element table 表格 校验必填项
前端页面

<el-form :model=“inServForm” ref=“inServForm” :rules=“rules” size=“small”>
<el-table ref=“infiledList” border :data=“inServForm.infiledList” style=“width: 100%” >
<el-table-column prop=“matnrid” label=“物料编码” width="165p…


针对 el - table中每一行 输入框进行表单验证( 校验非空以及重复 值等)
针对 el - table中每一行 输入框进行表单验证( 校验非空以及重复 值等) 最近遇到一个需求,针对于一个 表格,可以点击增加按钮在 表格插入 输入框输入相应 值点击确定以增加 表格 一行,需要对 表格 输入框进行表单 校验,以及确定 提交 校验。大概效果图如下

具体思路1、由于确定按钮校验是针对每一行表单,所以el-formref值需要为动态值,每次确定校验也只校验当前行结果。2、对于是否存在重复校验,需要将当前正处于编辑状态行与其他行数据进行匹配,所以在自定义校验函数里需要传入当前行


el - table校验 el -input 输入框
< el -form ref="sceneForm" :mod el="sceneForm" :rules="rules"> < el - table :data="sceneForm.sceneData"> < el - table -column prop="piiData" lab el="数值"> <template slot -scope="scope" align="center"> .
记录vue+ elementui 动态添加 输入选择框并增加 校验
一个新 需求,需要动态添加选择条件,虽然可以实现了,但是在 校验提示部分感觉欠佳,直接通过$message 方式提示不够友好,最后通过网上示例完善 校验,对部分几个点做个人总结。

实现思路
1.由于vue是通过数据驱动展示页面内容,那么可以通过“添加条件”按钮往一个数组中添加对象,然后在下面展示区for循环遍历数组,从而动态生成输入表单。
2.已经完成了动态生成输入框/选择框。那么就是怎么加校验了。注意点来了,该循环数组对象一点是要在这个form表单绑定对象中才行:model=“dialogForm”


element -ui 给 el - table添加 校验;给表单嵌套对象添加 校验
05-30 322
element -ui 给 el - table添加 校验;给表单嵌套对象添加 校验
Element el - table 表格添加必填 校验处理
vue el - table 表格添加必填 校验处理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

分类专栏

  • java学习 2篇
  • React入门 11篇
  • 计算机网络学习 1篇
  • NodeJs入门 3篇
  • NodeJS-ExpressAPI学习与使用 10篇
  • 刷题
  • JavaScript刷题 4篇
  • 操作系统 1篇
  • 软件工程 3篇
  • 新星计划十篇文 10篇
  • 杂记——趣味百汇 8篇
  • 软考 6篇
  • Vue学习篇 28篇
  • 前端问题记录 9篇
  • python学习 26篇
  • 前端提高 142篇
  • 前端入门 54篇
  • 数据库学习 8篇
  • 设备 12篇
  • paddle paddle 3篇
  • svm 2篇
  • 人工智能之模式识别 2篇

最新评论

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值