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 相关文章推荐
Extjs中ComboBox加载并赋初值的实现方法
Mar 22 Javascript
javaScript的函数对象的声明详解
Feb 06 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
jQuery增加与删除table列的方法
Mar 01 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
jQuery实现导航回弹效果
Feb 27 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
select获取下拉框的值 下拉框默认选中方法
Feb 28 Javascript
Vue中如何实现proxy代理
Apr 20 Javascript
详解nvm管理多版本node踩坑
Jul 26 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
php 分页原理详解
2009/08/21 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
javascript编写简易计算器
2017/05/06 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
浅析matlab中imadjust函数
2020/02/27 Python
python excel多行合并的方法
2020/12/09 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
介绍一下MD5加密算法
2016/11/12 面试题
什么是servlet
2012/05/08 面试题
小学班主任评语大全
2014/04/23 职场文书
教师职位说明书
2014/07/29 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
丧事答谢词
2015/01/05 职场文书
停电调休通知
2015/04/16 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS