欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue 中应用 vee-validate 进行表单验证

程序员文章站 2022-03-08 19:27:51
...

一、简单介绍: vee-validate 是一个轻量级的vue表单验证插件。

二、使用步骤:

1、安装: 

npm install vee-validate --save-dev

2、main.js

import Vue from 'vue'
import VeeValidate, { Validator } from 'vee-validate'
VeeValidate.Validator.localize('zh_CN');
const config = {
    locale: 'zh_CN'
}
Vue.use(VeeValidate, config)

3、.vue文件

<Col span="7"  offset="1" >
  <span>姓名</span>
  <Input  type="text" v-model="dataForm.xm"  size="small" name="xm" data-vv-as='姓名' v-validate="'required'" @on-blur="this.getxmpinyin"/><br/>
  <span v-if="errors.has('xm')"  style="color:red;">{{ errors.first('xm') }}</span>
</Col>

errors.first('field') -- 获取关于当前field的第一个错误信息
has('field') -- 当前filed是否有错误(true/false)

4、点击“提交”时

this.$validator.validate().then(result => {
  if (!result) {
     this.$message.warning(this.errors.all()[0])
     return false;
  }
}

5、效果

vue 中应用 vee-validate 进行表单验证

三、自定义规则

在main.js中添加如下代码:

// 自定义validate
const dictionary = {
    zh_CN: {
        messages: {
            required: (field) =>  field + '为必须',
            integer: (field) => field + '必须为整数',
            url: () => '请输入正确格式的服务器地址',
            ip: () => '请输入正确的IP地址'
        },
        attributes: {
            ip: 'IP地址' //自己定义的规则
        }
    }
}
Validator.localize(dictionary);
// 1.IPV4地址
Validator.extend('ipAddr', {
    messages: {
        zh_CN: field => '请输入正确的IPV4地址'
    },
    validate: value => {
        return /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/.test(value)
    }
})

就可实现自定义规则。

或者把有关 表单验证的 相关代码(上述提到的在main.js中写的代码)提出来,放到一个js文件中,然后在main.js中引用,会比较清晰。

完。