本教程大家分享了自带气泡提示的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 '校验不通过'})
二、在表单元素中配置校验规则
<!--待校验元素的pop容器--> <pop> <!--该输入框内容为最多为两位小数的数字--> <input v-verify decimal-length="2"> </pop>
ok,您已经完成了一个基础校验。气泡提示怎么样?丑的话自己用css改吧。。
当输入框失去焦点时会自动触发校验,如果校验不通过会出现气泡。再次输入气泡会消失
支持的校验规则(继承verify-base.js)
重要参数说明
注意:规则中不能有大写字母,用中划线分隔,同vue props属性设置规则
errMsg
用于自定义校验不通过提示
<pop> <input v-verify length="10" err-msg="请输入正确的卡号"> </pop>
maxNumber
注意小于和小于等于的写法
<!--该输入框内容必须为小于等于10的数字--> <pop> <input v-verify max-number="10"> </pop> <!--该输入框内容必须为小于10的数字,通过'!'来标识--> <pop> <input v-verify max-number="!10"> </pop>
minNumber
参考maxNumber配置
pop
用于设置气泡组件的位置。
默认情况下,插件会查找待校验元素的分发对象或父容器(父容器的父容器的父容器...)是否为pop组件,如果找到则使用之。
当待校验元素和气泡提示不再满足父子容器关系时,可以用如下方式去指定:
<!--当校验不通过时,气泡提示会出现在这个div上面--> <pop id="cardIdPop"> <div>我是一个div</div> </pop> <input v-verify length="10" err-msg="卡号不正确" pop="cardIdPop">
noCache
用于禁止插件对校验结果的缓存。默认情况下,插件会缓存上次的校验结果,直到待校验元素的值发生变化
<pop> <input v-verify length="10" err-msg="卡号不正确" no-cache> </pop>
canBeNull
插件默认校验输入内容不为空,该参数一般用于如下情况,比如邀请码这种一般可以为空,不为空又需要校验的输入项
自定义校验方法verify始终会执行,主要考虑到该校验方法中的校验对象很可能不仅仅是输入框本身的值,故不应受该配置项的影响
<!--当邀请码不为空时才校验长度是否等于10--> <pop> <input v-verify length="10" err-msg="邀请码不正确" can-be-null> </pop>
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>
规则简写
number/int/phone等无须设定值的规则可以直接:
<pop> <!--该输入框内容必须为手机号--> <input v-verify phone> </pop>
maxNumber/minNumber/decimalLength无须写number规则
<pop> <!--该输入框内容必须为不大于10的数字--> <input v-verify max-number="10"> <!--不用这么写--> <input v-verify number max-number="10"> </pop>
自定义校验方法
如果自带的校验方法满足不了您的需求,可以在校验规则中插入您自己的校验方法
<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>
自定义校验规则
和自定义校验方法的区别是这个适用于全局,等于增加插件自带的校验规则
// 新增校验是否为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位数字' })
<!--校验不通过提示优先errMsg,然后才是您自定义规则中返回的默认出错提示--> <input v-verify number6 err-msg="请输入正确的6位数字验证码">
手动触发校验&分组校验
<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-msg="卡号3不正确"> </pop> <pop> <input v-verify length="10" err-msg="卡号4不正确"> </pop> </verify> </template> <script> export default{ ready () { // 调用vm对象中$verify方法 // 无参调用会触发当前vm中所有的待校验元素执行校验并显示校验气泡 this.$verify() // 通过传id参数('#'+id)触发输入框的校验并显示校验气泡 this.$verify('#ipt') // 通过传dom元素触发输入框的校验并显示校验气泡 this.$verify(this.$els.ipt) // 通过传校验组名来校验该组的所有待校验元素 this.$verify('verifyGroup') // 只校验,不显示校验气泡 this.$verify('verifyGroup', false) // 返回: { // 所有校验结果是否都通过 valid: true/false, results: [ { // 校验的dom元素 el: DOM, // 该元素校验是否通过 valid: true/false, // 错误信息 msg: '' } ] } } } </script>
插件的默认校验不通过提示模版
{ number: { common: '请输入数字', // > maxNumber: '该输入框数字不能大于{maxNumber}', // >= maxNumber2: '该输入框数字应小于{maxNumber}', // < minNumber: '该输入框数字不能小于{minNumber}', // <= minNumber2: '该输入框数字应大于{minNumber}', decimalLength: '该输入框最多接受{decimalLength}位小数' }, // 特殊类型 int: '该输入框仅接受整数', phone: '请输入正确的手机号', idCard: '请输入正确的身份证号', bankCard: '请输入正确的银行卡号', email: '请输入正确的邮箱', verifyCode: '请输入正确的验证码', common: { empty: '请补充该项内容', length: '请输入{length}位字符', minLength: '该输入框内容至少{minLength}位' }, specialInput: { checkbox: '请勾选我' } }
您可以按照上述格式自定义您的错误提示
verify.errMsg = {}
也可以只修改某些项
verify.errMsg.int = '{mark}必须为整数'
彩蛋
校验插件不仅能检测到输入内容的变化,绑定值的变化同样在掌控之内,也就是说校验气泡的出现和消失您完全无须手动控制
<!--当卡号输入框出校验气泡提示时,cardId值的变化或重新输入卡号,气泡提示都会消失--> <pop> <input v-model="cardId" v-verify length="10" err-msg="卡号不正确"> </pop>
verifyBase
本插件校验的核心方法来自verify-base
// 通过该方式获取verifyBase以使用其内置的各种校验方法 verify.verifyBase
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Asp.net Mvc表单验证气泡提示效果,包括了Asp.net Mvc表单验证气泡提示效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Asp.net Mvc表单验证的制作代码,供大家参考,具体内容如下 将ASP.NET MVC或ASP.NET Core MVC的表单验证改成气泡提示: //新建一个css文件(如:jquery.validate.Bubble.css
本文向大家介绍vue使用video插件vue-video-player的示例,包括了vue使用video插件vue-video-player的示例的使用技巧和注意事项,需要的朋友参考一下 一、安装插件 二、配置插件 在main.js中全局配置插件 三、使用插件 在vue组件中的程序如下: 四、结果 结果如图所示: vue-video-player的npm社区地址:https://w
electron-vue 包含以下 vue 插件,可以使用 vue-cli 脚手架安装... axios(网络请求) vue-electron (将 electron API 附加到 Vue 对象) vue-router (单页应用路由) vuex (flux 启发的应用程序架构) axios 基于 Promise,用于浏览器和 node.js 的 HTTP 客户端 如果你熟悉 vue-resou
开发插件 插件通常会为Vue添加全局功能。插件的范围没有限制——一般有下面几种: 添加全局方法或者属性,如: vue-element 添加全局资源:指令/过滤器/过渡等,如 vue-touch 通过全局 mixin方法添加一些组件选项,如: vuex 添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实现。 一个库,提供自己的 API,同时提供上面提到的一个或多个功能,如 v
1. 简介 本节我们将介绍 Vue 的插件。包括什么是插件、如何使用插件、如何编写一个简单的插件。其中,编写和使用插件是本节的重点。本节我们将带领大家写一个简单的插件示例,同学们在学完本节后可以尝试编写其他的插件来加深学习。 2. 慕课解释 插件通常用来为 Vue 添加全局功能。插件的功能范围没有严格的限制,一般有下面几种: 添加全局方法或者属性。如: vue-custom-element。 添加
问题内容: 我正在尝试创建一个“气泡”,该气泡可以在事件触发时弹出,并且只要鼠标悬停在引发事件的项目上方,或者如果鼠标移入气泡中,它就会保持打开状态。我的泡沫将需要具有各种HTML和样式,包括超链接,图像等。 我基本上通过编写约200行丑陋的JavaScript来实现了这一目标,但是我真的很想找到一个jQuery插件或其他一些方法来解决这一问题。 问题答案: Qtip是我见过的最好的Qtip。它是
本文向大家介绍vue项目关闭eslint校验,包括了vue项目关闭eslint校验的使用技巧和注意事项,需要的朋友参考一下 简介eslint eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格。 官方文档:https://eslint.org 这篇文章总结了eslint的规则:Eslint规则说明 关闭eslint校验 有了eslint的校验,可以来规范开发人员的代
本文向大家介绍vue表单自定义校验规则介绍,包括了vue表单自定义校验规则介绍的使用技巧和注意事项,需要的朋友参考一下 如下所示: vue2.X+elementUI表单自定义验证方法 以上这篇vue表单自定义校验规则介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。