vue 如何实现表单校验

一、安装并使用

首先,在你的vue项目中进行安装:

npm install --save vue-input-check

安装完成以后引入并注册:

import inputCheck from 'vue-input-check';

// 安装
Vue.use(inputCheck);

然后,我们就可以在表单中使用了:

<form autocomplete="off" novalidate>
    <input v-model='key' name='输入框名称' v-input-check='[key,"validate-express"]'/>
    <!-- 可以有任意多的输入框 -->
</form>

如你所见,上述的v-input-check就是我们对每个输入框定义规则的地方,值是一个数组,第一个值就是输入框的v-model,第二个值是一个字符串,语法如下:

validate-express="val1:param1:param2|val2|valu3:param1"

不同的规则使用|分割,需要传递参数的规则的参数通过:分割。我们来看几个例子:

    v-input-check='[key,"required|maxLength:10|regexp:^\\d{1,5}$"]'
    v-input-check='[key,"required"]'

目前可选的内置规则如下:

required:boolean:表示必输,有一个可选参数,表示是否必输,默认true
    maxLength:num:最大长度
    minLength:num:最小长度
    regexp:str:正则表达式

二、获取校验结果

页面的规则定义好了以后,你有两中方式获取校验的结果。

1.JS的方式

直接使用下列方法启动检查即可:

this.$validateCheck(formnode, callback, errorback);

此对象包含三个参数:

  • formnode:需要校验的表单结点,必输
  • callback:表单合法回调,可选
  • errorback:表单非法回调,可选

此外,错误回调有一个形参,数据格式为:

{
    "$el":错误的输入框结点
    "$error":当前输入框的第一个错误提示信息
}

2.HTML的方式

提供这种方式的目的是为了可以在页面实时反馈当前表单的输入情况。

首先,在表单上,你可以通过判断class包含v-valid或者v-invalid来判断表单是否合法。

同样的,添加指令v-input-check的地方同样可以这样判断该处是否合法,而对于更具体的错误细节,比如必输非法,class就会像这样v-invalid-required v-invalid

三、自定义校验规则

在大部分情况下,我们还可能需要添加新的校验规则,毕竟默认的往往不足以满足所有业务情况:

Vue.use(inputCheck, {

    // 自定义校验规则
    validate: [{

        // 规则的名称
        name: "XXX",

        // 校验方法,返回true表示合法,false表示非法
        // 需要注意的是,这个函数除了el和val一定存在外,余下的参数是使用的时候通过```:```分割传递的,可以有任意多个
        // 比如:``` required:true|phone:parm1:param2 ```
        test: function (el, val, ...) {
            return true|false;
        },

        // 非法提示信息,应该返回一个字符串
        message: function (el, name) {
            return "XXX";
        }
    },
    // 校验规则可以有多条
    ......
    ]

});

到此这篇关于vue 如何实现表单校验的文章就介绍到这了,更多相关vue 实现表单校验内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Vue.js 表单校验插件

    Vuerify 是一个简单轻量的数据校验插件.内置基础的校验规则和错误提示.可自定义规则,规则类型支持正则.函数或者字符串.校验规则可全局注册也可以组件内注册.插件会给 vm 添加 $vuerify 对象,同时 watch 数据并校验合法性,如果有错误会存入 vm.$vuerify.$errors. 安装 npm i vuerify -S 使用 安装插件 import Vue from 'vue' import Vuerify from 'vuerify' Vue.use(Vuerify, /*

  • Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开箱即用,还支持自定义正则表达式.而且支持 40 多种语言,对本地化.多语言支持非常友好. 国内饿了么团队开源项目 Element UI 就用到了 vee-validate . vee-validate 官网:https://baianat.github.io/vee-validate/ 1. 安装

  • Vue之ElementUI Form表单校验

    表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基础用法进行整理说明. 以下是form的demo el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic"> <el-form-item prop="email"

  • Vue Element-ui表单校验规则实现

    目录 1.前言 2.规则校验的入门模式 2.1.示例代码 2.2.form项 2.3.prop项 2.4.rules项 2.5.rule项 2.6.使用规则 2.7.规则校验的核心 3.规则校验的进阶模式 3.1.嵌套对象属性名 3.2.自定义校验器validator 3.3.类型type 3.3.数据转换transform 3.4.数值范围Range 3.5.枚举值 3.6.正则Pattern 3.7.长度len 3.8.空白whitespace 3.9.i18n 4.规则校验的高级模式 4.

  • vue 使用自定义指令实现表单校验的方法

    笔者近期在公司的项目中使用自定义指令完成了表单校验. 这里将思路分享给大家,并写了一个小demo.这个自定义指令还需要大家自行完善. demo可见Github:vue-form-param-check 首先关于自定义指令的介绍可以参考官网. 首先,在github上已经有了一些开源组件可以支持表单校验.但是对于一些小项目而言,引入一个很大的东西实际上并不好.所以这里利用vue的自定义指令对表单校验进行了简单的实现. 分析 在平时我们所见的表单中,常见的做法有2种: - input框输入时和提交时,

  • Vue2.0表单校验组件vee-validate的使用详解

    vee-validate使用教程 本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 npm install vee-validate@next --save 注意:@next,不然是Vue1.0版本 bower install vee-validate#2.0.0-beta.13 --save 二.引用 import Vue from 'vue'; import VeeValidate

  • vue+element实现表单校验功能

    要实现这个功能其实并不难,element组件直接用就可以, 但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程...... 表单校验功能: 实现这个功能,总共分为以下4布: 1.在el-form标签中定义:rules="rules";ref="reference" 2.在el-form-item定义prop="name"; 3.在选项data中定义rules校验规则; 4.在提交方法中检查用户行为 templa

  • Vue element-ui父组件控制子组件的表单校验操作

    方法一: 父组件代码: <template> <div> <child-form ref="childRules" :addForm="addForm" > </child-form> <el-button @click="saveForm()" size='medium'>保 存</el-button> </div> </template> <

  • vue 如何实现表单校验

    一.安装并使用 首先,在你的vue项目中进行安装: npm install --save vue-input-check 安装完成以后引入并注册: import inputCheck from 'vue-input-check'; // 安装 Vue.use(inputCheck); 然后,我们就可以在表单中使用了: <form autocomplete="off" novalidate> <input v-model='key' name='输入框名称' v-inp

  • vue elementUI 表单校验功能之数组多层嵌套

    在使用vue element-ui form表单渲染的时候,会遇到这样的数据结构: { "title":''123455, "email":'123456@qq.com', "list": [ { "id": "quis consequat culpa ut pariatur", "name": "et quis irure dolore ullamco", &quo

  • vue中vee validate表单校验的几种基本使用

    今天主要记录一下用vee-validate来进行表单校验的几个基本使用.包括最基础的必填和长度校验:异步请求服务的校验(重名校验),还有延迟校验.如何引入等就不在这里赘述了,直接进入主题. 1.必填和长度校验 直接采用v-validate属性进行配置,不同的校验采用 '|' 隔开.是否有报错根据 errors.has('userName') 进行判断,'userName'对应的是表单的name属性的值. errors.first('userName)会展示表单校验中第一个错误信息. <el-co

  • vue elementUI 表单校验的实现代码(多层嵌套)

    嵌套对象的校验 项目中使用的vue+elementUI进行开发,已经用了有一段时间了,感觉表单校验是每一个前端开发人员都避免不了的需求.在一些前端可以自行校验的情况下,先通过前端校验,校验不通过不发送请求,直到满足校验规则,再发送请求给后端,从而提升用户体验. elementUI对表单的校验有自己的方法,要求传入model的必须为一个对象.但如果数据结构比较复杂,对象里面又嵌套对象,该如何校验?本文给出多层对象嵌套的方法. example <template> <el-form :mod

  • vue中使用vee-validator完成表单校验方案

    前言 由于大部分移动端的组件库都不提供表单校验,因此需要自己封装.目前,使用较多的是async-validator和vee-validator.其中,elementUI组件库提供的表单验证也是基于async-validator,vee-validator是一种基于vue模板的轻量级校验框架.可以根据项目的需求,自行选择合适的方案.本文主要讨论的是vee-validator校验方案. 表单校验的封装 在vue项目中,表单校验是每个前端开发人员都避免不了的需求.校验的好处可以避免无用的 http 请

  • 100行代码实现vue表单校验功能(小白自编)

    两个文件,一个写逻辑,一个写校验规则: 特点:逻辑简单,代码量少,够用: 不想看代码直接新建这两个文件复制代码,看最下面的使用方法: 示例图片 //validator.js //引入校验规则 var valitatorRules = require('./valitator-rules.js'); export const Validator=function(formName,rules,errors){ // rules:{ // name:'required|regexp_hanzi',

随机推荐