• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 自带气泡提示的vue校验插件(vue-verify-pop)

自带气泡提示的vue校验插件(vue-verify-pop)

作者:余阿伟 字体:[增加 减小] 来源:互联网 时间:2017-05-11

余阿伟通过本文主要向大家介绍了sublime vue插件,vue 时间插件,webstorm vue插件,vue插件,vue插件库等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本教程大家分享了自带气泡提示的vue校验插件,供大家参考,具体内容如下

安装

npm install vue-verify-pop

使用

VUE版本:1.x
必须在vue-cli生成的webpack模板环境中使用

一、在./main.js中执行全局配置

import vue from 'vue'
import verify from 'vue-verify-pop'
vue.use(verify)
// 以下配置非必须,按你的需求来
// 配置默认校验不通过时的提示信息
verify.errMsg = YourErroMsg
// 增加校验规则
verify.addRule('myRule', (v) => {return '校验不通过'})
</div>

二、在表单元素中配置校验规则

<!--待校验元素的pop容器-->
<pop>
 <!--该输入框内容为最多为两位小数的数字-->
 <input v-verify decimal-length="2">
</pop>
</div>

ok,您已经完成了一个基础校验。气泡提示怎么样?丑的话自己用css改吧。。
当输入框失去焦点时会自动触发校验,如果校验不通过会出现气泡。再次输入气泡会消失

支持的校验规则(继承verify-base.js)

  • length: 校验文本长度
  • minLength: 校验文本最短长度
  • maxLength: 校验文本最长长度
  • maxNumber: 校验数字最大值
  • minNumber: 校验数字最小值
  • decimalLength: 校验小数位
  • number: 校验是否为数字
  • int: 校验是否为整数
  • phone: 校验是否为手机号
  • idCard: 校验是否为身份证号
  • bankCard: 校验是否为银行卡号
  • email: 校验是否为电子邮件地址
  • verifyCode: 校验是否为6位数字验证码
  • canBeNull: 当参数为空时跳过校验,不会执行后面的校验规则(注意:自定义校验函数'verify'仍然会执行)

重要参数说明

注意:规则中不能有大写字母,用中划线分隔,同vue props属性设置规则

errMsg

用于自定义校验不通过提示

<pop>
 <input v-verify length="10" err-msg="请输入正确的卡号">
</pop>
</div>

maxNumber

注意小于和小于等于的写法

<!--该输入框内容必须为小于等于10的数字-->
<pop>
 <input v-verify max-number="10">
</pop>
<!--该输入框内容必须为小于10的数字,通过'!'来标识-->
<pop>
 <input v-verify max-number="!10">
</pop>
</div>

minNumber

参考maxNumber配置

pop

用于设置气泡组件的位置。
默认情况下,插件会查找待校验元素的分发对象或父容器(父容器的父容器的父容器...)是否为pop组件,如果找到则使用之。
当待校验元素和气泡提示不再满足父子容器关系时,可以用如下方式去指定:

<!--当校验不通过时,气泡提示会出现在这个div上面-->
<pop id="cardIdPop">
  <div>我是一个div</div>
</pop>
<input v-verify length="10" err-msg="卡号不正确" pop="cardIdPop">
</div>

noCache

用于禁止插件对校验结果的缓存。默认情况下,插件会缓存上次的校验结果,直到待校验元素的值发生变化

<pop>
 <input v-verify length="10" err-msg="卡号不正确" no-cache>
</pop>
</div>

canBeNull

插件默认校验输入内容不为空,该参数一般用于如下情况,比如邀请码这种一般可以为空,不为空又需要校验的输入项

自定义校验方法verify始终会执行,主要考虑到该校验方法中的校验对象很可能不仅仅是输入框本身的值,故不应受该配置项的影响

<!--当邀请码不为空时才校验长度是否等于10-->
<pop>
 <input v-verify length="10" err-msg="邀请码不正确" can-be-null>
</pop>
</div>

watch

监听其他变量,触发自身校验。
一个常见例子:最少参与人数不能大于最多参与人数,当最少参与人数变化时应当触发最多参与人数的校验

<template>
 <pop>
  <input placeholder="最少参与人数" v-verify v-model="minNumber" v-verify int>
 </pop>
 <pop>
  <input placeholder="最多参与人数" v-verify v-model="minNumber" v-verify int :verify="verifyMaxNumber" :watch="minNumber">
 </pop>
</template>
<script>
export default{
 data () {
  return {
   minNumber: ''
  }
 },
 methods: {
  verifyMaxNumber (val) {
   if (val - this.minNumber < 0) return '最多参与人数不能小于最少参与人数'
  }
 }
}
</script>
</div>

规则简写

number/int/phone等无须设定值的规则可以直接:

<pop>
 <!--该输入框内容必须为手机号-->
 <input v-verify phone>
</pop>
</div>

maxNumber/minNumber/decimalLength无须写number规则

<pop>
 <!--该输入框内容必须为不大于10的数字-->
 <input v-verify max-number="10">
 <!--不用这么写-->
 <input v-verify number max-number="10">
</pop>
</div>

自定义校验方法

如果自带的校验方法满足不了您的需求,可以在校验规则中插入您自己的校验方法

<template>
 <pop>
  <!--通过给props.verify赋值来植入自定义校验-->
  <!--当length规则通过时才会执行自定义校验-->
  <input v-verify length="10" :verify="verifyCardId" err-msg="卡号不正确">
 </pop>
</template>
<script>
export default{
 methods: {
  verifyCardId (val) {
   // val: 待校验的值
   // 可以直接return校验不通过的提示
   // if (val.substr(0,1) !== '0') return '卡号不正确'
   // 如果直接return true/false 校验不通过提示将使用errMsg或默认错误提示
   // return val.substr(0,1) === '0'
  }
 }
}
</script>
</div>

自定义校验规则

和自定义校验方法的区别是这个适用于全局,等于增加插件自带的校验规则

// 新增校验是否为6位数字 val: 待校验的值 rule: 规则值。
// 校验是否为6位数字这种一般时不需要额外参数用来对比,所以rule参数用不到。校验文本长度,数字大小这种才会用到rule
// <input v-verify length="6"> '6'会作为rule参数
var verifyBase = verify.verifyBase
verify.addRule('number6', (val, rule) => {
 // 判断是否为6位数字
 // 只需要关注错误的情况 返回默认出错提示即可
 if (!verifyBase('number')(val).valid || !verifyBase('length')(val, 6)) return '请输入正确的6位数字'
})
</div>

调用

<!--校验不通过提示优先errMsg,然后才是您自定义规则中返回的默认出错提示-->
<input v-verify number6 err-msg="请输入正确的6位数字验证码">
</div>

手动触发校验&分组校验

<template>
 <pop>
  <!--给目标元素设置v-el-->
  <input v-verify length="10" err-msg="卡号1不正确" v-el:ipt>
 </pop>
 <pop>
  <!--给目标元素设置id-->
  <input v-verify length="10" err-msg="卡号2不正确" id="ipt">
 </pop>
 <!--给目标元素设置组名-->
 <verify name="verifyGroup">
  <pop>
   <input v-verify length="10" err-ms



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 自带气泡提示的vue校验插件(vue-verify-pop)

相关文章

  • 2017-05-11Angular.js中控制器之间的传值详解
  • 2017-05-11jQuery使用正则验证15/18身份证的方法示例
  • 2017-05-11JS实现的DIV块来回滚动效果示例
  • 2017-05-11AngularJS表格添加序号的方法
  • 2017-05-11利用javascript实现的三种图片放大镜效果实例(附源码)
  • 2017-05-11JavaScript函数参数的传递方式详解
  • 2017-05-11微信小程序商城项目之购物数量加减(3)
  • 2017-05-11微信小程序 slider的简单实例
  • 2017-05-11Vue实现动态响应数据变化
  • 2017-05-11JS对象的深度克隆方法示例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • js 将input框中的输入自动转化成半角大写(税号输入框)
    • js面向对象编程总结
    • Canvas + JavaScript 制作图片粒子效果
    • 利用Vue v-model实现一个自定义的表单组件
    • bootstrap按钮插件(Button)使用方法解析
    • Bootstrap缩略图的创建方法
    • jQuery控制元素隐藏和显示
    • 微信小程序scroll-view实现横向滚动和上拉加载示例
    • JavaScript仿微信打飞机游戏
    • ng2学习笔记之bootstrap中的component使用教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有