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代码非书签
Sep 06 Javascript
js实现上传图片及时预览
May 07 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
深入理解js generator数据类型
Aug 16 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
Jan 05 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
JS闭包的几种常见形式实例详解
Sep 16 Javascript
vue几个常用跨域处理方式介绍
Feb 07 Javascript
微信小程序项目实践之验证码倒计时功能
Jul 18 Javascript
vue 之 css module的使用方法
Dec 04 Javascript
vue 左滑删除功能的示例代码
Jan 28 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
Vue实现导航栏菜单
2020/08/19 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
详解python pandas 分组统计的方法
2019/07/30 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
linux面试相关问题
2012/08/11 面试题
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
如何写你的创业计划书
2014/01/07 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
2014年督导工作总结
2014/11/19 职场文书
计划生育责任书
2015/05/09 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书