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 相关文章推荐
用正则xmlHttp实现的偷(转)
Jan 22 Javascript
ie 处理 gif动画 的onload 事件的一个 bug
Apr 12 Javascript
javascript验证身份证号
Mar 03 Javascript
js生成验证码并直接在前端判断
May 15 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
微信小程序 常用工具类详解及实例
Feb 15 Javascript
Vue二次封装axios为插件使用详解
May 21 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
clipboard.js在移动端复制失败的解决方法
Jun 13 Javascript
js实现的在本地预览图片功能示例
Nov 09 Javascript
vue中可编辑树状表格的实现代码
Oct 31 Javascript
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
PHP安全配置详细说明
2011/09/26 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
python抓取网页图片并放到指定文件夹
2014/04/24 Python
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
django url到views参数传递的实例
2019/07/19 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
python基础教程之while循环
2019/08/14 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
出国签证在职证明
2014/09/20 职场文书
法定授权委托证明书
2015/06/18 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers