Vue 表单校验 vee-validate

gitHub 地址:https://github.com/baianat/vee-validate

官网API 地址:https://baianat.github.io/vee-validate/api/

配置

先下载到项目 npm install vee-validate --save

封装一个自定义指令,方便后面使用

import {Validator, install as VeeValidate} from ‘vee-validate‘;
import {required, min, max, excluded, included} from ‘vee-validate/dist/rules.esm.js‘;
import {messages, rules} from ‘@/util‘;

import ‘@/assets/style/validation.sass‘;

export default function install(Vue) {
    Validator.extend(‘required‘, required);
    Validator.extend(‘min‘, min);
    Validator.extend(‘max‘, max);
    Validator.extend(‘excluded‘, excluded);
    Validator.extend(‘included‘, included);

    Vue.use(VeeValidate, {
        locale: ‘cn‘,
        dictionary: {
            cn: {messages}
        },
        classes: [‘invalid‘],
        fieldsBagName: ‘xfields‘
    });

    for (let key in rules) {
        key && Validator.extend(key, rules[key]);
    }
}

更多配置参考 https://baianat.github.io/vee-validate/configuration.html

util.js 下面放一些自定义的规则,列如

import {included} from ‘vee-validate/dist/rules.esm.js‘;

export const messages = {
    required: field => `${field}为必填项`,
    max: (field, len) => `${field}长度不可多于${len}`,
    min: (field, len) => `${field}长度最多${len}`
};

export const rules = {
    phone: {
        getMessage: () => ‘手机号码格式不正确‘,
        validate: value => /^(?=\d{11}$)^1(?:3\d|4[57]|5[^4\D]|66|7[^249\D]|8\d|9[89])\d{8}$/.test(value)
    },
    email: {
        getMessage: field => `${field}格式不正确`,
        validate: email
    },
    phoneExcluded: {
        getMessage: () => ‘手机号码格式不正确‘,
        validate: (value, args) => {
            return included(value, args) || /^(?=\d{11}$)^1(?:3\d|4[57]|5[^4\D]|66|7[^249\D]|8\d|9[89])\d{8}$/.test(value) // eslint-disable-line
        }
    },
}

在vue中使用方法,例如

<el-input
    v-model="form.successTextPrompt"
    v-validate="{required: true, max: 20}"
    data-vv-as="文字提示"
    data-vv-name="successTextPrompt"
    placeholder="请输入"
/>
<span class="error-msg" v-show="errors.has(‘successTextPrompt‘)">{{ errors.first(‘successTextPrompt‘) }}</span>
methods: {  submit() {
    this.$validator.validateAll().then(valid => {
          if (valid) {
               // 校验成功
          }
      }
  }
}

原文地址:https://www.cnblogs.com/shenjp/p/9534560.html

时间: 2024-07-28 14:10:56

Vue 表单校验 vee-validate的相关文章

vue 表单校验(二)

vue 表单校验(二) vue element-ui表单校验 由于现在使用element-ui进行form表单校验,因而使用其自带的校验规则进行校验,发现有些并不是那么好校验,或者说是校验起来很繁琐,因而一直在研究中 表单校验分类 前后端校验 前端校验 后端校验 这种目前一般是结合起来使用,很少单纯前端校验,或者单纯后端校验的 前端检验 数据录入时校验 数据回显时校验 动态创建时校验 数据是否必填时校验 接下来所谈论的校验都是基于前端进行校验,若是后天校验,只是统一校验规则而已,这样前后便可以统

vue表单校验(三)

vue表单校验(三) 每当看到heyui的这个表单校验,我就一直想将element的校验也做类似的功能,终于有了方式,虽然不是很完美,但是可以使用,能满足要求了 实现方式 基于element-ui实现 通过表单提交时,触发校验,未通过的表单会添加is-error,之后滚动到对应的错误位置即可 页面视图 实现逻辑 触发条件 在提交时,若是未通过则开始进行判断,由于是依赖于is-error的class类名,因而需要等form表单错误的元素添加完is-error类名后再进行判断 submitForm1

JQuery 表单校验插件 validate 实践纪录

JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有插件对应, validate插件便是一个. 官网地址 : http://jqueryvalidation.org/ 官网文档:http://jqueryvalidation.org/documentation/ 下面网址是开发者提供的demo, 代码可下载, 可以给大家提供参考: http://jq

2.12 学习总结 之 表单校验插件validate

一.说在前面 昨天 学习了ajax的相关知识 今天 学习表单校验插件validate, 并使用ajax 自定义校验规则 二.validate 插件 1.网络上有许多成熟的插件共使用者参考,插件就是将jquery实现的常用操作进行封装,封装后的小框架就可以叫做插件,按照插件的语法去操作可以实现很多复杂的功能,而这些复杂功能的背后实现我们可以不必懂. 2.导入插件的步骤: 1) 将jquery的原始文件和插件文件jquery.validate.js导入到工程中 2) 编写js代码对表单进行验证 3.

jQuery表单校验jquery.validate.js的使用

一:首先在页面引入 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.validate.js"></script> 二:纯HTML代码 <html xmlns="http://www.w3.org/1999/xhtm

案例15-基本的表单校验使用validate

1 导入插件 <!--引入jquery相关文件 --> <script src="js/jquery-1.11.3.min.js" type="text/javascript"></script> <!-- 引入表单校验jquery插件 --> <script type="text/javascript" src="js/jquery.validate.min.js">

[知了堂学习笔记]_Jquery_Validate 表单校验的使用

一.效果图: 二.JqueryValidate的好处 在做注册.或者类似以上的表单提交的时候,大家是不是都很烦那种,把数据拿到后台去判断, 可能经过了正则表达式之类的复杂判断,然后发现数据错误.接着通过request转发到页面上,再通过EL 表达式输出错误信息.实话实话,在没发现这个插件之前,我是这么干的,好痛苦的感觉. JqueryValidate的好处就在于,你不必经过servlet,就可以在页面上面判断用户输入的信息是否正确,它能够快速实现 表单的校验. 三.引入插件 顺序不能乱,此插件是

【转】vue.js表单校验详解

1.npm安装vue-validator $ npm install vue-validator 代码示例: var Vue=require("vue"); var VueValidator=require("vue-validator"); Vue.use(VueValidator); 2.直接使用script标签引入vue.js 要下载vue-validator,那么进入cdn的地址https://cdn.bootcss.com/vue-validator/2.

利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件

表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验.网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的个性化的需求,使得我们用这些插件的默认机制并不能完成这些功能,所以要根据自己的需要去改造它们(毕竟自己还不到那个写一个完美的校验框架的层次).我用过formValidation这个校验框架,虽然它跟bootstrap配合地很好,但是校验风格太死板,不太满足个性化的场景:后来我找到了jquery.val