引入:npminstallvee-validate--savevue代码:importVeeValidatefrom'vee-validate';importzh_CNfrom'vee-validate/dist/l
引入:
npm install vee-validate --save
vue代码:
import VeeValidate from 'vee-validate';
import zh_CN from 'vee-validate/dist/locale/zh_CN'; //引入中文包,提示信息可以以中文形式显示
import { Validator } from 'vee-validate';
Validator.addLocale(zh_CN); // 设置提示信息中文方式显示
const config = {
errorBagName: 'errors',
fieldsBagName: 'fields',
delay: 100,
locale: 'zh_CN',
strict: true,
enableAutoClasses: true,
events: 'blur',
inject: true
};
// 自定义提示信息
const dictionary = {
zh_CN: {
messages: {
ip: () => 'ip格式不正确😯 >.<'
}
}
};
Validator.updateDictionary(dictionary);
// 自定义规则
Validator.extend('qq', {
messages: {
zh_CN:field => 'qq号码输入不正确'
},
validate: value => {
return /^[1-9][0-9]{4,14}$/.test(value);
}
});
Vue.use(VeeValidate, config); //一般插件都要use一下
使用
<label><span>ip:</span><input v-validate="'required|email'" name="email" type="text" v-model="ip"/></label>
<span v-show="errors.first('ip')">{{ errors.first('ip') }}</span>
注意 : name一定要写,否则不会进行验证
config配置信息
插件的一些功能可以自定义,需要编写config,然后Vue.use(VeeValidate, config)来使用 一下为配置信息的意思(可能不全面)
errorBagName: 'erroers'
所有的错误信息都是放在这个里面的,如果名称和页面上的变量名字冲突,需要修改成其他的,当是errors.fist的时候,error就是字符串,当使用error.all()/error.collect()的时候就是数组
fieldsBagName: 'fields'
字段的名称(标志)的对象,将在每个Vue的实例数据注入。如果在页面上使用了ip的验证,那么,可以通过如下获取一个对象:
this.fileds.ip
>> 获取到的对象:
{
dirty :true
invalid:false
pending:false
pristine:false
required:true
touched:true
untouched:false
valid:true
validated:true
}
delay : 100 表示获取输入信息的时间
locale: ‘zh_CN' 验证消息的默认语言。
strict: true 表示没有设置规则的表单不进行验证
classes (不懂)
events: 'blur|input' 默认是input|blur 就是在用户输入和表单失去焦点的时候都进行验证,blue表示失去焦点的时候进行验证
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
Vee-Validate的使用 Vee-Validate