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 图片预加载 自动等比例缩放插件
Dec 25 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
jquery实现简单的banner轮播效果【实例】
Mar 30 Javascript
JavaScript实现动态增删表格的方法
Mar 09 Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 Javascript
webpack打包多页面的方法
Nov 30 Javascript
vue实现移动端省市区选择
Sep 27 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输出XML格式数据的方法总结
2017/02/08 PHP
function foo的原型与prototype属性解惑
2010/11/19 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
AngularJS获取json数据的方法详解
2017/05/27 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python中的TCP socket写法示例
2018/05/11 Python
python并发和异步编程实例
2018/11/15 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
c++工程师面试问题
2013/08/04 面试题
星级党支部申报材料
2014/05/31 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
公司感谢信范文
2015/01/22 职场文书
大足石刻导游词
2015/02/02 职场文书
体育活动总结
2015/02/04 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python