iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中vee validate表单校验的示例分析
  • 686
分享到

vue中vee validate表单校验的示例分析

2024-04-02 19:04:59 686人浏览 安东尼
摘要

这篇文章主要为大家展示了“Vue中vee validate表单校验的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中vee validate表单校

这篇文章主要为大家展示了“Vue中vee validate表单校验的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中vee validate表单校验的示例分析”这篇文章吧。

1.必填和长度校验

直接采用v-validate属性进行配置,不同的校验采用 ‘|' 隔开。是否有报错根据 errors.has('userName') 进行判断,‘userName'对应的是表单的name属性的值。

errors.first('userName)会展示表单校验中第一个错误信息。

 <el-col :span="4" class="fORM-label">
  <label>用户名</label>
 </el-col>
 <el-col :span="8">
  <el-input name="userName" v-model="userName" v-validate="'required|min:2|max:20'"></el-input>
  <span v-show="errors.has('userName')" class="error">{{ errors.first('userName') }}</span>
 </el-col>

结果如下:

vue中vee validate表单校验的示例分析

从结果我们可以看到,校验的错误信息是展示了,但是默认都是英文的,这个可能有时跟我们实际开发的需求不是一致的。这个我们可以采用

vee-validate的国际化去进行中文的展示。但是这里我要介绍的是另一种方式,如果是系统只需要支持一种语言,我觉得用这种方式就可以。

直接采用 errors.first('userName:required') 即 ‘字段名:校验规则'  的方式进行判断进而展示对应提示信息的方式。这个方式可以让表单在对应校验不通过时展示我们自己定义对应的个性化提示信息。

优点是:配置简单,方便实现个性化提示。

<el-col :span="4" class="form-label">
  <label>用户名</label>
</el-col>
<el-col :span="8">
  <el-input name="userName" v-model="userName" v-validate="'required|min:2|max:20'"></el-input>
  <span v-show="errors.first('userName:required')" class="error">用户名为必填项</span>
  <span v-show="errors.first('userName:min')" class="error">用户名的最小长度为2</span>
  <span v-show="errors.first('userName:max')" class="error">用户名的最大长度为20</span>
</el-col>

 2.异步校验 和延迟

异步校验,主要就是两部分,一个是校验器的定义,一个是使用

定义部分:

import { Validator } from 'vee-validate';
const emailsDB = [
 'abcd@cc.com'
];
const isUnique = value => new Promise((resolve) => {
 setTimeout(() => {
  if (emailsDB.indexOf(value) === -1) {
   return resolve({
    valid: true
   });
  }

  return resolve({
   valid: false,
   data: {
    message: `${value} 已存在.`
   }
  });
 }, 200);
});
Validator.extend('unique', {
 validate: isUnique,
 getMessage: (field, params, data) => data.message
});

使用:

 <el-col :span="4" class="form-label">
  <label>邮箱</label>
 </el-col>
 <el-col :span="8">
  <el-input name="email" v-model="email" v-validate="'unique'" data-vv-delay="1000"></el-input>
  <span v-show="errors.first('email:unique')" class="error">重复</span>
 </el-col>

结果:

vue中vee validate表单校验的示例分析

其中  data-vv-delay="1000"  就是延迟校验的使用。1000即1000毫秒

以下是几个例子的完整代码:

<template>
  <div>
    <el-form name="myForm" novalidate>
      <el-row>
        <el-col :span="4" class="form-label">
          <label>邮箱</label>
        </el-col>
        <el-col :span="8">
          <el-input name="email" v-model="email" v-validate="'unique'" data-vv-delay="1000"></el-input>
          <span v-show="errors.first('email:unique')" class="error">重复</span>
        </el-col>

        <el-col :span="4" class="form-label">
          <label>用户名</label>
        </el-col>
         <el-col :span="8">
          <el-input name="userName" v-model="userName" v-validate="'required|min:2|max:20'"></el-input>
          <span v-show="errors.first('userName:required')" class="error">用户名为必填项</span>
          <span v-show="errors.first('userName:min')" class="error">用户名的最小长度为2</span>
          <span v-show="errors.first('userName:max')" class="error">用户名的最大长度为20</span>
        </el-col>
        <!-- <el-col :span="8">
          <el-input name="userName" v-model="userName" v-validate="'required|min:2|max:20'"></el-input>
          <span v-show="errors.has('userName')" class="error">{{ errors.first('userName') }}</span>
        </el-col> -->
        
      </el-row>
    </el-form>
  </div>
</template>
<script>
import { Validator } from 'vee-validate';

const emailsDB = [
  'abcd@cc.com'
];
const isUnique = value => new Promise((resolve) => {
  setTimeout(() => {
    if (emailsDB.indexOf(value) === -1) {
      return resolve({
        valid: true
      });
    }

    return resolve({
      valid: false,
      data: {
        message: `${value} 已存在.`
      }
    });
  }, 200);
});

Validator.extend('unique', {
  validate: isUnique,
  getMessage: (field, params, data) => data.message
});
export default {
  data() {
    return {
      email: '',
      userName: ''
    }
  }
}
</script>
<style scoped>
.form-label {
 text-align: right;
 padding-right: 10px;
}
.error {
 color: red;
}
</style>

以上是“vue中vee validate表单校验的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: vue中vee validate表单校验的示例分析

本文链接: https://www.lsjlt.com/news/77588.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中vee validate表单校验的示例分析
    这篇文章主要为大家展示了“vue中vee validate表单校验的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中vee validate表单校...
    99+
    2024-04-02
  • Vue.js+Nuxt.js项目中如何使用Vee-validate表单校验
    小编给大家分享一下Vue.js+Nuxt.js项目中如何使用Vee-validate表单校验,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了...
    99+
    2024-04-02
  • angular4中关于表单校验的示例分析
    这篇文章给大家分享的是有关angular4中关于表单校验的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、使用响应式表单的步骤1、在模块(一般是app.module.t...
    99+
    2024-04-02
  • vue+VeeValidate校验范围的示例分析
    这篇文章主要为大家展示了“vue+VeeValidate校验范围的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue+VeeValidate校验范围的...
    99+
    2024-04-02
  • Vue elementUI表单嵌套表格并对每行进行校验的示例分析
    这篇文章主要介绍Vue elementUI表单嵌套表格并对每行进行校验的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果展示先看看这是不是需要的效果^_^如图,ElementUI 表单里嵌套了表格...
    99+
    2023-06-22
  • element vue validate验证名称重复的示例分析
    小编给大家分享一下element vue validate验证名称重复的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体代码如下所示:<!DOCTYPE html...
    99+
    2024-04-02
  • vue表单的示例分析
    这篇文章给大家分享的是有关vue表单的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、基本用法你可以用 v-model 指令在表单 <input> 及 &l...
    99+
    2024-04-02
  • springboot表单提交之validator校验的实例分析
    小编给大家分享一下springboot表单提交之validator校验的实例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言表单提交是最常见的数据提交方式,...
    99+
    2023-06-15
  • JS中表单提交验证的示例分析
    这篇文章将为大家详细讲解有关JS中表单提交验证的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在进行表单提交时,需要对输入框和文本域等的value的合理性进行验证...
    99+
    2024-04-02
  • validate 注册页的表单数据校验实现详解
    目录1.注册页是什么2.为什么需要注册页3.注册页如何实现3.1分析业务需求3.2获取数据 v-model双向绑定3.3校验数据3.4method中的发送数据3.5处理数据4总结1....
    99+
    2024-04-02
  • Ajvformat校验使用示例分析
    目录初始化项目demo运行分解新建index.js文件分析总结初始化项目demo npm init -y 安装 Ajv 版本 7 npm install ajv 安装ajv-...
    99+
    2022-11-13
    Ajv format校验 Ajv format
  • ng-alain动态表单SF表单项设置必填和正则校验的示例分析
    这篇文章将为大家详细讲解有关ng-alain动态表单SF表单项设置必填和正则校验的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用动态表单时对表单项进行非空校...
    99+
    2024-04-02
  • Vue组件中参数校验与非props特性的示例分析
    这篇文章主要为大家展示了“Vue组件中参数校验与非props特性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue组件中参数校验与非props特性的...
    99+
    2024-04-02
  • Angular中表单的示例分析
    这篇文章主要介绍Angular中表单的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular 表单什么是模板式表单表单的数据模型是通过组件模板中的相关指令来定义的, 因为使用这种方式定义表单的数据模型时...
    99+
    2023-06-14
  • BootStrap中表单的示例分析
    小编给大家分享一下BootStrap中表单的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.基本实例单独的表单控件会被...
    99+
    2024-04-02
  • jQuery中Validate插件ajax方式验证输入值的示例分析
    小编给大家分享一下jQuery中Validate插件ajax方式验证输入值的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • vue组件表单数据回显验证及提交的示例分析
    这篇文章主要介绍vue组件表单数据回显验证及提交的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近项目需要到vue开发单页面,所以就研究一下表单数据的回显,验证及提交如何用...
    99+
    2024-04-02
  • HTML表单的示例分析
    这篇文章主要介绍了HTML表单的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!DOCTYPE html> ...
    99+
    2024-04-02
  • Vue数据驱动表单渲染form表单的示例分析
    小编给大家分享一下Vue数据驱动表单渲染form表单的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!form-creat...
    99+
    2024-04-02
  • JavaScript表单验证实例分析
    这篇文章主要介绍了JavaScript表单验证实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript表单验证实例分析文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作