Vue引用vee-validate插件表单验证问题(cdn方式引用)

目录
  • 引用vee-validate插件表单验证(cdn方式引入)
  • 一、 CDN方式(官网)
  • 二、 结合Vue使用
  • 三、使用中文错误提示
  • 四、HTML代码示例
  • 五、自定义验证规则
  • 总结

引用vee-validate插件表单验证(cdn方式引入)

之前用的是webpack打包工具写的项目,后来需求改成静态页面的方式,所以又要把一些引入方式改过来,这就是前端麻烦的地方。

网上也有很多npm引入方式的,主要是老版本和新版本vee-validate引起的问题(特别是中文错误提示的引用问题),我这里写一下关于cdn方式引入,中文包配置的问题。

一、 CDN方式(官网)

<!-- jsdelivr cdn -->
<script src="https://cdn.jsdelivr.net/npm/vee-validate@latest/dist/vee-validate.js"></script>

<!-- unpkg -->
<script src="https://unpkg.com/vee-validate@latest"></script>

二、 结合Vue使用

Vue.use(VeeValidate, {
    events: 'change'     //这里的events是触发事件,例如失去焦点验证,我这里用的是输入改变校验
});

Vue引入这里就不详解了,不知道的自行百度。

网上有很多配置参数,有需要的可以去查一下,我这里没用到就没写了,网上有些也是花里胡哨的,没必要,只是做个验证,搞得脑子疼。

不加参数就是这样:

Vue.use(VeeValidate);

三、使用中文错误提示

先下载中文包

https://cdn.bootcss.com/vee-validate/2.2.15/locale/zh_CN.js

没办法,暂时没有找到新版本zh_CN.json的使用方式,cdn引入方式就用这个中文提示包就行了,webpack项目的不会存在这个问题。

之后再调用即可:

VeeValidate.Validator.localize('zh_CN');

如果不使用这个包的可以引用一下代码:

VeeValidate.Validator.localize({
    zh_CN: {
        messages: {
            _default: (field) => `${field}的值无效`,
            after: (field, [target, inclusion]) => `${field}必须在${target}之后${inclusion ? '或等于' + target : ''}`,
            alpha: (field) => `${field}只能包含字母字符`,
            alpha_dash: (field) => `${field}能够包含字母数字字符、破折号和下划线`,
            alpha_num: (field) => `${field}只能包含字母数字字符`,
            alpha_spaces: (field) => `${field}只能包含字母字符和空格`,
            before: (field, [target, inclusion]) => `${field}必须在${target}之前${inclusion ? '或等于' + target : ''}`,
            between: (field, [min, max]) => `${field}必须在${min}与${max}之间`,
            confirmed: (field, [confirmedField]) => `${field}不能和上面${confirmedField}匹配`,
            credit_card: (field) => `${field}的格式错误`,
            date_between: (field, [min, max]) => `${field}必须在${min}和${max}之间`,
            date_format: (field, [format]) => `${field}必须符合${format}格式`,
            decimal: (field, [decimals = '*'] = []) => `${field}必须是数字,且能够保留${decimals === '*' ? '' : decimals}位小数`,
            digits: (field, [length]) => `${field}必须是数字,且精确到${length}位数`,
            dimensions: (field, [width, height]) => `${field}必须在${width}像素与${height}像素之间`,
            email: (field) => `${field}不是一个有效的邮箱`,
            excluded: (field) => `${field}不是一个有效值`,
            ext: (field) => `${field}不是一个有效的文件`,
            image: (field) => `${field}不是一张有效的图片`,
            included: (field) => `${field}不是一个有效值`,
            integer: (field) => `${field}必须是整数`,
            ip: (field) => `${field}不是一个有效的地址`,
            length: (field, [length, max]) => {
                if (max) {
                    return `${field}长度必须在${length}到${max}之间`
                }

                return `${field}长度必须为${length}`
            },
            max: (field, [length]) => `${field}不能超过${length}个字符`,
            max_value: (field, [max]) => `${field}必须小于或等于${max}`,
            mimes: (field) => `${field}不是一个有效的文件类型`,
            min: (field, [length]) => `${field}必须至少有${length}个字符`,
            min_value: (field, [min]) => `${field}必须大于或等于${min}`,
            numeric: (field) => `${field}只能包含数字字符`,
            regex: (field) => `${field}格式无效`,
            required: (field) => `${field}是必须的`,
            size: (field, [size]) => `${field}必须小于${formatFileSize(size)}`,
            url: (field) => `${field}不是一个有效的url`
        }
    }
})

内容是差不多的,用代码的话更直观一点。

四、HTML代码示例

<div class="item-ipt" >
     <label>账号</label>
     <input class="ipt" name="name" data-vv-as="账号" v-validate="'required|alpha_dash'" v-model="username" placeholder="请输入用户名" :disabled="nameable"/>
     <span v-show="errors.has('name')" class="ipt-err">{{ errors.first('name') }}</span>
</div>
<div class="item-ipt" >
     <label>手机号</label>
     <input class="ipt" name="mobile" data-vv-as="手机号" v-validate="'required|mobile'" v-model="mobile" placeholder="请输入验证码" />
     <span v-show="errors.has('mobile')" class="ipt-err">{{ errors.first('mobile') }}</span>
</div>
  • name:必须要添加,不然无法关联
  • data-vv-as:错误提示的中文名称;例:账号不能为空,手机号不能为空。
  • v-validate:验证规则,多个用 ‘|’ 分开。alpha_dash 就是中文规则,能够包含字母数字字符、破折号和下划线的意思。

错误提示span里的内容为固定写法,errors.has有无错误显示,errors.first提示错误信息

五、自定义验证规则

这里放了一些例子提供参考

//手机的验证。
VeeValidate.Validator.extend("mobile", {
    getMessage: () => `请输入正确的手机号码`,
    validate: value =>
        value.length === 11 &&
        /^(((13[0-9]{1})|(14[57]{1})|(15[012356789]{1})|(17[03678]{1})|(18[0-9]{1})|(19[89]{1})|(16[6]{1}))+\d{8})$/.test(
            value
        )
});
//身份证的验证。
VeeValidate.Validator.extend("idCard", {
    getMessage: () => `请输入正确的身份证号码`,
    validate: value =>
        /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(
            value
        )
});
//邮箱的验证。
VeeValidate.Validator.extend("Email", {
    getMessage: () => `请输入正确的邮箱地址`,
    validate: value =>
        /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(
            value
        )
});
//邮箱的验证。
VeeValidate.Validator.extend("fax", {
    getMessage: () => `请输入正确的办公电话`,
    validate: value =>
        /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(
            value
        )
});
VeeValidate.Validator.extend("intOrDe", {
    getMessage: () => `请输入正确的值,整数或小数,小数后只能二位`,
    validate: value =>
        /^(-)?\d+(\.\d{1,2})?$/.test(
            value
        )
});

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vee-validate vue 2.0自定义表单验证的实例

    亲测可用 学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则. 一.安装 您可以通过npm或通过CDN安装此插件. 1. NPM npm install vee-validate --save 2. CDN <script src="path/to/vue.js"></script> <script src="path/to/vee-validate.js"></script> <

  • Vue中使用vee-validate表单验证的方法

    Vue项目遇到要表单验证了吧,对我来说表单验证是个很纠(dan)结(teng)的内容,各种判断凌乱到飞起.往常使用jquery的validate插件做表单验证方便吧,你也可以在Vue里引入jquery的validate插件(如何引入jquery在我上一篇博文有介绍,点击查看).但是我们是做vue项目也,不到实在解决不了还是建议不要引入,因为Vue自己就有表单验证的插件,那就是vee-validate. 我在这并不是详细讲解vee-validate的使用功能,只是快速了解如何在项目里使用vee-v

  • vue.js表单验证插件(vee-validate)的使用教程详解

    综述 名称:vee-validate 用途:简单的 Vue.js 表单验证插件 官网:地址 github:地址 特别提示 配合laravel使用特别好使 因为验证规则和laravel后端的验证规则一样 插件既可以应用于SPA也可以应用于多页面,通用性强 安装 单页安装 npm install vee-validate --save 浏览器安装 <!-- unpkg --> <script src="https://unpkg.com/vee-validate@2.0.0-rc.

  • Vue引用vee-validate插件表单验证问题(cdn方式引用)

    目录 引用vee-validate插件表单验证(cdn方式引入) 一. CDN方式(官网) 二. 结合Vue使用 三.使用中文错误提示 四.HTML代码示例 五.自定义验证规则 总结 引用vee-validate插件表单验证(cdn方式引入) 之前用的是webpack打包工具写的项目,后来需求改成静态页面的方式,所以又要把一些引入方式改过来,这就是前端麻烦的地方. 网上也有很多npm引入方式的,主要是老版本和新版本vee-validate引起的问题(特别是中文错误提示的引用问题),我这里写一下关

  • Vue循环组件加validate多表单验证的实例

    *父父组件(helloWorld.vue): <template> <div class="hello-world"> <el-button type="text" @click="saveAll" class="button">SAVE</el-button> <promise-father ref="promiseFather"></pr

  • jQuery.validate.js表单验证插件的使用代码详解

    Validate Validate是基于jQuery的一款轻量级验证插件,内置丰富的验证规则,还有灵活的自定义规则接口,HTML.CSS与JS之间的低耦合能让您自由布局和丰富样式,支持input,select,textarea的验证. 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="vi

  • 基于Bootstrap+jQuery.validate实现表单验证

    这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登陆这块,也就尤为重要. 用户注册和登录其实往往比我们想象的难.就比如表单校验,里面涵盖的内容其实挺多,就前台而言,你需要了解: 1.正则表达式的基本了解 其实正则并不难,并且在学会后能带给你极大的成就感,享受那种事半功倍的效果吧. 2.ajax异步请求 在验证用户名是否存在.用户登录时账号或者密码错误时给出相应的

  • jquery validate.js表单验证入门实例(附源码)

    小编上网查阅了许多关于jquery.validate的文章,大部门只是介绍它的api和用法,没有一个详细的的入门案例介绍,研究了半天还是无从下手.为此,小编自己做了一个jquery validate.js表单验证入门实例,写的不是特别好,但应该适用于初学者,分享给大家. 以下是validate.js表单验证入门实例参考源码,文章下面有源码下载地址: <html> <head> <meta http-equiv="Content-Type" content=

  • vue中使用element-ui进行表单验证的实例代码

    element-ui 中验证 一.简单逻辑验证(直接使用rules) 实现思路 •html中给el-form增加 :rules="rules" •html中在el-form-item 中增加属性 prop="名称" •js中直接在data中定义rules:{} •html部分 <el-form ref="form" :rules="rules" :model="form" label-width=&q

  • 使用element-ui +Vue 解决 table 里包含表单验证的问题

    应用场景: 在实际使用中经常会遇到需要在Form表单中使用table表格进行表单提交,同时又需要对table的字段进行校验,效果如图所示: 这个校验中,最关键的问题在于如何给el-form-item 动态绑定prop. :prop="'tableData.' + scope.$index + '.字段名'" 方法一: <template> <div class="app-container"> <el-form :model="

  • layui插件表单验证提交触发提交的例子

    废话不多说,大家直接看代码吧! <!------HTML部分---------> <form class="layui-form" action="{:url('login/login')}" method="post"> <div class="logi_content"> <p class="tit">管理系统</p> <div clas

  • 快速学习jQuery插件 jquery.validate.js表单验证插件使用方法

    最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评.作为一个标准的验证方法库,Validation拥有如下特点: 1.内置验证规则: 拥有必填.数字.Email.URL和信用卡号码等19类内置验证规则 2.自定义验证规则: 可以很方便地自定义验证规则 3.简单强大的验证

  • 详解jquery validate实现表单验证 (正则表达式)

    一.目的 为了更好地实现人机交互,使用jQuery封装库中的validate插件,在用户填写表单时,可以快速地对用户填写的数据进行验证,并做出反馈. 二.validate插件简介   validate()是插件的核心方法,定义了基本的校验规则和一些有用的配置项. rule:设置表单的验证规则: messages:设置表单不符合验证规则的提示信息: debug:如果这个参数为true,那么表单还会提交,只进行检查,调试时十分方便. required:必填 minlength:最小长度 maxlen

随机推荐