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项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vue实现拖拽进度条
Mar 01 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue封装数字翻牌器
Apr 20 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
php中curl使用指南
2015/02/05 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
取键盘键位ASCII码的网页
2007/07/30 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
python静态方法实例
2015/01/14 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python如何生成各种随机分布图
2018/08/27 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
tensorflow常用函数API介绍
2020/04/19 Python
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
面试后的感谢信范文
2014/02/01 职场文书
企业内控岗位的职责
2014/02/07 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
五四演讲稿范文
2014/09/03 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
驻村工作简报
2015/07/20 职场文书
养成教育工作总结
2015/08/13 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL