vue使用element-ui实现表单验证


Posted in Vue.js onDecember 13, 2020

本文实例为大家分享了vue使用element-ui实现表单验证的具体代码,供大家参考,具体内容如下

一、简单逻辑验证(直接使用rules)

实现思路

  • html中给el-form增加:rules="rules"
  • html中在el-form-item 中增加属性prop="名称"
  • js中直接在data中定义rules:{}

html部分

<el-form ref="form" :rules="rules" :model="form" label-width="300px">
  <el-form-item label="发货地址:" prop="fAdderss">
   <el-input class="inp" v-model="form.fAdderss" auto-complete="true"></el-input>
   <el-button type="primary" class="btn-add" @click="onSubmit">常用地址</el-button>
  </el-form-item>
</el-form>

js部分

<script>
export default {
 data() {
 return {
  form: {
  fAdderss: '',
  },
  // 校验规则
  rules: {
  fAdderss: [
  { required: true, //是否必填
   message: '地址不能为空', //规则
   trigger: 'blur' //何事件触发
  },
  //可以设置双重验证标准
  { min: 3, max: 5, message: '长度在 3 到 5 个字符', }
  ]
  }
 }
 }
}
</script>

二、自定义验证逻辑

实现思路

  • html中给el-form增加:rules="rules"
  • html中在el-form-item 中增加属性prop="名称"
  • js中直接在data中在rules中的名称对应中设置validator: 验证器名称,
  • js中在data中 return之上书写验证器对应的js验证逻辑

html部分

<el-form ref="form" :rules="rules" :model="form" label-width="300px"> 
  <el-form-item label="发货人电话" prop="phone">
   <el-input class="inp" v-model="form.phone" auto-complete="true"></el-input>
  </el-form-item>
 </el-form>

js部分

<script>
export default {
 data() {
 // 此处自定义校验手机号码js逻辑
 var phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/
 var validatePhone = (rule, value, callback) => {
  if (!value) {
  return callback(new Error('号码不能为空!!'))
  }
  setTimeout(() => {
  if (!phoneReg.test(value)) {
   callback(new Error('格式有误'))
  } else {
   callback()
  }
  }, 1000)
 }
 return {
  form: { 
  phone: '',
  },
  // 校验规则
  rules: {
  // 校验手机号码,主要通过validator来指定验证器名称
  phone: [{ required: true, validator: validatePhone, trigger: 'blur' }]
  },
 }
 }
}
</script>

效果图如下

vue使用element-ui实现表单验证

三、表单提交

实现思路

  • html中给el-form增加ref="form" :model="ruleForm"
  • html中给提交按钮增加点击事件@click="submitForm('ruleForm')"()中对应的为form的:model="ruleForm"
  • js中直接在methods中定义提交事件submitForm(){}

+html部分

//form
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="0px" >
//表单项
 <el-form-item label="发货人电话" prop="phone">
   <el-input class="inp" v-model="form.phone" auto-complete="true"></el-input>
 </el-form-item>、
 ...
 //提交按钮
 <el-button class="btn-login" type="primary" size="medium" @click="submitForm('ruleForm')">立即登录</el-button>    
</el-form>

js部分

methods: {
 submitForm(formName) {
  this.$refs[formName].validate(valid => {
  if (valid) {
    //如果通过验证 to do...
  } else {
   console.log('error submit!!')
   return false
  }
  })
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
如何管理Vue中的缓存页面
Feb 06 Vue.js
vue实现拖拽进度条
Mar 01 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue+element实现动态加载表单
Dec 13 #Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 #Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 #Vue.js
详解vue中使用transition和animation的实例代码
Dec 12 #Vue.js
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 #Vue.js
vue使用exif获取图片经纬度的示例代码
Dec 11 #Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 #Vue.js
You might like
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
php修改数组键名的方法示例
2017/04/15 PHP
JavaScript中获取元素索引的函数
2010/09/10 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
详解Angular2 之 结构型指令
2017/06/21 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
django 多数据库及分库实现方式
2020/04/01 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
小学教师事迹材料
2014/01/13 职场文书
励志演讲稿200字
2014/08/21 职场文书
拾金不昧表扬信
2015/01/16 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书