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 相关文章推荐
编写js扩展方法判断一个数组中是否包含某个元素
Nov 08 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
jquery图片滚动放大代码分享(2)
Aug 28 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
Jul 18 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
微信小程序 Record API详解及实例代码
Sep 30 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
vue.js语法及常用指令
Oct 29 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 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之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
对联广告js flash激活
2006/10/19 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
js选项卡的制作方法
2017/01/23 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
python实现的各种排序算法代码
2013/03/04 Python
python批量修改文件名的实现代码
2014/09/01 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python循环输出三角形图案的例子
2019/11/22 Python
appium+python adb常用命令分享
2020/03/06 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
营销总监岗位职责范本
2014/02/26 职场文书
关于读书的活动方案
2014/08/14 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
离婚财产处理协议书
2014/09/30 职场文书