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代码改变单选框选中状态的简单实例
Dec 18 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
JavaScript实现的多种鼠标拖放效果
Nov 03 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
Jul 31 Javascript
Node.js console控制台简单用法分析
Jan 04 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
May 07 Javascript
jQuery中DOM常见操作实例小结
Aug 01 jQuery
vue css 引入asstes中的图片无法显示的四种解决方法
Mar 16 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
May 09 Javascript
JavaScript中的几种继承方法示例
Dec 06 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.MVC的模板标签系统(四)
2006/09/05 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
如何使用Javascript中的this关键字
2020/05/28 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Anaconda入门使用总结
2018/04/05 Python
python 自定义对象的打印方法
2019/01/12 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
优秀应届生推荐信
2013/11/09 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
以权谋私检举信范文
2015/03/02 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js