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 相关文章推荐
利用javascript中的call实现继承
Jan 22 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
May 10 Javascript
Angular2搜索和重置按钮过场动画
May 24 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
微信小程序下拉框组件使用方法详解
Dec 28 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 Javascript
js+html实现点名系统功能
Nov 05 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 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取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
ext监听事件方法[初级篇]
2008/04/27 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
python 魔法函数实例及解析
2019/09/25 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
生物制药自我鉴定
2014/01/25 职场文书
文明之星事迹材料
2014/05/09 职场文书
大学生个人求职信
2014/06/02 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
护士个人年度总结范文
2015/02/13 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
如何写好闭幕词
2019/04/02 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
浅谈Node的内存泄露问题
2022/05/06 NodeJs