轻量级表单验证插件,目前功能还不全可能会有BUG
入门 Link to heading
以Vue2.x为例
引入 Link to heading
在main.js中引入并use
import WyValidate from 'wy-validate';
Vue.use(WyValidate);
页面使用 Link to heading
普通验证 Link to heading
添加v-validate
自定义指令和v-validate
css类名,data-error目前可有可无
<div>
<input type="text" class="v-validate" v-validate="rules1" data-error="" v-model="data"/>
</div>
添加错误提示样式,类名为is-error-span,是写死在插件里的。这里给出一个简单的样式
.is-error-span{
color: #f56c6c!important;
font-size: 14px!important;
line-height: initial!important;
padding-top: 3px!important;
position: absolute!important;
top: 100%!important;
left: 0!important;
}
按钮触发验证 Link to heading
- 在
button
上加入v-submit="'testSubmit'"
,testSubmit为验证成功后的函数名。必须加单引号,不然会被认为是变量。
<button v-submit="'testSubmit'">确认</button>
- 特殊情况
对于一些不方便写v-submit的时候可以参考以下
let elements = document.getElementsByClassName('v-validate');
let evObj = document.createEvent('Event');
evObj.initEvent('input', true, true);
for (let element of elements) {
element.dispatchEvent(evObj);
}
let errorInputs = document.getElementsByClassName('is-error-span');
if(errorInputs.length === 0){
// 这里写验证成功后的代码
}
定义规则 Link to heading
规则分为4类。是否为空、数字范围、类型、自定义正则
export default {
name: 'app',
data() {
return {
// 是否为空
rules1: {
type: 0,
required: true,
message1: "不能为空"
},
// 两个数之间
rules2: {
type: 1,
// required可选值为true/false
required: true,
// message1为required: true时候的提示
message1: "不能为空",
// message1为数字不在范围时候的提示
message2: "请输入2位数",
min: 10,
max: 99
},
// 数据类型
rules3: {
type: 3,
required: true,
message1: "不能为空",
// textType可选值为 number email url chinese cellphonenumber(手机) phonenumber(固话)
textType: 'number',
message2: "请输入数字"
},
// 自定义正则
rules4: {
type: 4,
required: true,
message1: "不能为空",
regex: '',
message2: "请输入2位数"
}
}
}
}
规则说明 Link to heading
无
自定义指令名称 Link to heading
默认指令名称为wyValidate,自定义则需要这样写,注意和其他指令命名冲突。
Vue.use(WyValidate,{directiveName: "这里写自定义的指令名称"});
注意事项 Link to heading
-
input的父级标签要添加
position: relative
-
注意自定义指令和其他插件冲突
-
注意错误提示的css可能会被自身的css冲突
-
错误提示的css类名为is-error-span可以自定义
-
不支持checkbox