vue2.0 + ele的循环表单及验证字段方法


Posted in Javascript onSeptember 18, 2018

关于vue2.0 + ele的表单循环以及对应字段的验证!!!!!

html代码

<el-form ref="ruleForm" :inline="true" :model="form" label-width="140px" :rules="rules"
  v-loading.fullscreen.lock="fullScreenLoading" element-loading-text="拼命加载中...">
  <div v-for="(item, index) in form.xh" @click="handleindex(index)">
   <el-form-item label="账号" prop="tel">
   <el-input v-model="item.tel" ></el-input>
   </el-form-item>
   <el-form-item label="姓名" prop="nickname" v-show="item.isnickname">
   <el-input v-model="item.nickname"></el-input>
   </el-form-item>
  </div>
  <el-form-item label="年龄" prop="age">
   <el-input v-model="form.age"></el-input>
  </el-form-item>

  <el-form-item>
   <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
   <el-button @click="onCancel">取消</el-button>
  </el-form-item>
 </el-form>

script代码

//引入接口
import {
  fetchdata, 
} from 'src/api/login'

export default {
 var checkTel = (rule, value, callback) => {
   //循环判断这里是关键,这样做才可以对循环里每一条做判断
    for (let i = 0; i < this.form.xh.length; i++) {
      value = this.form.xh[i].tel;
      var vdt = this.VDT.vdata(value, { //这里需要你自己去在另一个文件里配上
       'required': {msg: '请填写账号'}
      });
      if (!vdt.result) {
       callback(new Error(vdt.msg));
      } else {
       callback();
      }
    }
   };
 var checkNickname = (rule, value, callback) => {
  for (let i = 0; i < this.form.xh.length; i++) {
  //先判断有没有姓名,假使nickname为false那就不要验证
   if (this.form.xh[i].isNickname) {
    value = this.form.xh[i].nickname;
    var vdt = this.VDT.vdata(value, { //这里需要你自己去在另一个文件里配上
     'required': {msg: '请填写姓名'}
    });
    if (!vdt.result) {
     callback(new Error(vdt.msg));
    } else {
     callback();
    }
   }
   else {
    callback();
   }
  }
 };
 //因为这里不是循环里面的,所以value对应的值就一个故可直接使用
  var checkAge = (rule, value, callback) => {
    var vdt = this.VDT.vdata(value, {'required': {msg: '请填写年龄'}});
    if (!vdt.result) {
     callback(new Error(vdt.msg));
    } else {
     callback();
    }
   };
  return {
   form: {
     xh:[{
      tel,
      nickname,
      isnickname:false, //附一个初始值,默认不显示。
     }],
     age:'',
     id:'1',
   },
   rules: {
    tel: [{required: true, validator:checkTel,trigger: 'blur',}], 
    nickname: [{required: true, validator:checkNickname,trigger: 'blur',}], 
    age: [{required: true, validator:checkAge,trigger: 'blur',}], 
   },
  },
  },
 created() {
  this.getData();
 },
 methods: {
  getData() {
    this.fullScreenLoading = true;
    fetchdata(this.id).then(response => { //这里请求对应的接口
    if(response.data.success == true) {
      this.fullScreenLoading = false;
      this.form = response.data.data; //返回数据赋给表单

    }else{
      this.fullScreenLoading = false;
      return false;
    }
  }
 }
}

本文只是作者在开发时总结出来的经验,希望可以有所帮助。

以上这篇vue2.0 + ele的循环表单及验证字段方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 性能优化指南(2)
May 21 Javascript
javascript中的prototype属性实例分析说明
Aug 09 Javascript
Javascript中各种trim的实现详细解析
Dec 10 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
JQuery实现展开关闭层的方法
Feb 17 Javascript
JavaScript表格常用操作方法汇总
Apr 15 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
javascript的 {} 语句块详解
Feb 27 Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
js实现轮播图效果 z-index实现轮播图
Jan 17 Javascript
JavaScript指定断点操作实例教程
Sep 18 #Javascript
对VUE中的对象添加属性
Sep 18 #Javascript
微信小程序适配iphoneX的实现方法
Sep 18 #Javascript
小程序兼容安卓和IOS数据处理问题及坑
Sep 18 #Javascript
解决vue attr取不到属性值的问题
Sep 18 #Javascript
vue动画打包后失效问题的解决方法
Sep 18 #Javascript
vue自定义全局共用函数详解
Sep 18 #Javascript
You might like
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
Javascript的一种模块模式
2008/03/22 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
js实现音频控制进度条功能
2017/04/01 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
jQuery操作动画完整实例分析
2020/01/10 jQuery
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python实现简单井字棋小游戏
2020/03/05 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
乡镇干部十八大感言
2014/02/17 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
开除通知书范本
2015/04/25 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
MySQL数据库之存储过程 procedure
2022/06/16 MySQL
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS
Python中的 No Module named ***问题及解决
2022/07/23 Python