vue中使用element-ui进行表单验证的实例代码


Posted in Javascript onJune 22, 2018

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中使用element-ui进行表单验证的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 锁定弹出层实现代码
Feb 23 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
May 07 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
JS+CSS实现下拉列表框美化效果(3款)
Aug 15 Javascript
javascript小数精度丢失的完美解决方法
May 31 Javascript
JS正则表达式验证密码格式的集中情况总结
Feb 23 Javascript
WebSocket实现简单客服聊天系统
May 12 Javascript
vue使用jsonp抓取qq音乐数据的方法
Jun 21 Javascript
如何使用JavaScript实现栈与队列
Jun 24 Javascript
js实现九宫格抽奖
Mar 19 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
Apr 27 Javascript
jQuery实现全选按钮
Jan 01 jQuery
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 #Javascript
JavaScript 下载svg图片为png格式
Jun 21 #Javascript
MVVM 双向绑定的实现代码
Jun 21 #Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 #Javascript
vue树形结构获取键值的方法示例
Jun 21 #Javascript
vue使用jsonp抓取qq音乐数据的方法
Jun 21 #Javascript
Vue 获取数组键名的方法
Jun 21 #Javascript
You might like
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
Laravel 5 学习笔记
2015/03/06 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
摘自百度的图片轮换效果代码
2007/11/19 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
Python处理JSON数据并生成条形图
2016/08/05 Python
Django 前后台的数据传递的方法
2017/08/08 Python
tensorflow识别自己手写数字
2018/03/14 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
SQL注入攻击的种类有哪些
2013/12/30 面试题
七年级英语教学反思
2014/01/15 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
个人工作总结范文2014
2014/11/07 职场文书
拾金不昧感谢信
2015/01/21 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android