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 动态创建组件的两种方法
Dec 31 Vue.js
vuex的使用步骤
Jan 06 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
简单聊聊Vue中的计算属性和属性侦听
Oct 05 Vue.js
vue实现移动端div拖动效果
Mar 03 Vue.js
vue打包时去掉所有的console.log
Apr 10 Vue.js
ant design vue的form表单取值方法
Jun 01 Vue.js
vue el-table实现递归嵌套的示例代码
Aug 14 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
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
控制打印时页眉角的代码
2007/02/08 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
JavaScript创建表格的方法
2020/04/13 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
python搜索指定目录的方法
2015/04/29 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
Python虚拟环境项目实例
2017/11/20 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
建筑工地质量标语
2014/06/12 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
高中班主任寄语
2019/06/21 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python