今天的越写悦快乐之系列文章为大家带来Vue项目如何集成VeeValidate。作为一名爱做梦的码农来说,不管是前端、后端、抑或是测试、运维,都需要保持一定的好奇心才可以,那么大家都知道Vue作为前端框架的集大成者,拥有着易用、灵活和高效的优点,那么对于在Vue项目中集成VeeValidate,大家有没有实践过呢?今天我为大家分享一下如何在Vue项目中集成VeeValidate。
VeeValidate是一看基于模板驱动的表单验证器,想了解相关内容,请参考官方文档
VeeValidate同时支持Vue 2和Vue 3
开发环境
- Window 10.0.17763
- Node 10.18.0
- Visual Studio Code 1.48.2
- Vue 2.6.12
- Vee Validate 3.4.5
- Vue CLI 4.5.9
接入步骤
创建项目
我们可以通过两种方式来创建项目:
1)命令行
-
vue create vee-validate-go
(选择默认配置)
2)Vue UI
在命令行或者终端输入vue ui
即可打开默认浏览器,然后选择项目存放位置、输入项目信息、包管理方式等信息,最后点击创建工程。
安装VeeValidate依赖
我们在终端下执行以下命令:
yarn add [email protected] element-ui -S
编写验证规则文件
既然我们要验证表单的可用性,那么首先我们编写验证规则文件,相关写法可参考以下代码:
import { required, length, email } from "vee-validate/dist/rules";
import { extend } from "vee-validate";
extend("required", {
...required,
message: "This field is required",
});
extend("email", {
...email,
message: "This field must be a valid email",
});
extend("length", {
...length,
message: "This field must have 2 options",
});
代码说明
- 导入规则,扩展相关验证
- 验证不通过渲染错误信息
编写表单页面
我们在about
页面中添加如下内容:
Create
Reset
项目配置文件
当通过@vue/cli
创建项目后,我们可以看到项目的配置文件如下:
{
"name": "vee-validate-go",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "3.8.1",
"element-ui": "2.14.1",
"vee-validate": "3.4.5",
"vue": "2.6.12",
"vue-router": "3.4.9"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.12"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
项目入口文件
我们在项目的入口main.js
文件中可以看到ElementUI和验证脚本的引入,其内容如下:
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI);
import "./vee-validate";
Vue.config.productionTip = false;
new Vue({
router,
render: (h) => h(App),
}).$mount("#app");
项目结构
当我们完成代码的编写后,可以看到项目的结构如下图所示:
查看结果
我们在项目所在的控制台(或者终端)执行yarn dev
命令,然后通过Router
跳转到about
页面即可看到表单,点击创建按钮。
参考
- VeeValidate
个人收获及总结
本文介绍了如何在Vue项目中集成VeeValidate,它不同于Element UI内置的验证库async-validator
,该表单验证器更方便地定制化验证规则,错误提示信息,监听表单的提交状态并通过ValidationProvider
来slot错误信息,将用户的输入加以限制,避免不可预知的风险,我相信这不仅能防止用户误操作,也可以有效防范不法分子的攻击。我会持续提升Vue的开发效率和体验,让技术赋能我们的产品和服务,让我们一起创造美好的未来,构建适合自己的知识体系。若是我的文章对你有所启发,那将是我莫大的荣幸。