思路

  1. 先各自验证

    • 非空校验
    • 具体规则校验
  2. 后兜底校验( 防止用户没输入信息直接登录 )

实现:( 以 element-ui 为例 )

  1. 在 标签上用 model 动态绑定收集数据的对象(form)
  2. 在 标签上用 rules 动态绑定验证规则对象(formRule)
  3. 给 form 里的每一项需要验证的 绑定 prop 属性 , 值为验证规则 formRule 里的每一项
  4. 兜底校验(里面也可以写一些自定义校验规则)

示例:(自定义数据名与 element-ui 不一致)







两次密码不一致的提示

实现步骤:

  1. 在data函数之中,return 对象之前定义校验函数 checkPwd,
  2. 在第二次密码校验的规则对象中 添加额外的规则对象

    { validator 属性: 值为校验的函数名,

    triggle 触发方式: 值也为blur }

    data () {

    const checkPwd = (rules, value, cb) => {

    // 两次密码不一致的校验配置

    // checkPwd就是validator属性的校验规则

    // 三个参数:

    // value: 收集的要校验的这一项的值,

    // cb: 处理函数 cb():成功就执行该函数。

    if (value === this.regForm.password) {

    cb()

    } else {

    cb(new Error('两次密码不一致!'))

    }

    }

    return {

    regForm: {

    username: '',

    password: '',

    repassword: ''

    },

    regFormRules: {

    username: [

    { required: true, message: '用户名为必填项!', triggle: 'blur' },

    { pattern: /[1]{1,10}$/, message: '用户名需为1-10位的字母数字组合', triggle: 'blur' }

    ],

    password: [

    { required: true, message: '密码为必填项!', triggle: 'blur' },

    { pattern: /^\S{6,15}$/, message: '密码需为6-15位的非空字符串', triggle: 'blur' }

    ],

    repassword: [

    { required: true, message: '确认密码为必填项!', triggle: 'blur' },

    { pattern: /^\S{6,15}$/, message: '密码需为6-15位的非空字符串', triggle: 'blur' },

    { validator: checkPwd, triggle: 'blur' }

    ]

    }

    }

  1. a-zA-Z0-9

Vue小白练级之路---001表单验证功能的一般实现思路的更多相关文章

  1. HTML5新增的表单验证功能

    一.HTML5表单的特点: HTML5 表单增加了许多内置的控件和控件属性 XHTML 中需要放在 form 之中的诸如 input/button/select/textarea 等标签元素,在 HT ...

  2. (译) 在AngularJS中使用的表单验证功能【转】

    验证功能是AngularJS里面最酷炫的功能之一,它可以让你写出一个具有良好用户体验的Web应用. 在AngularJS中,有许多用于验证的指令.我们将先学习几个最流行的内置指令,然后再创建一个自定义 ...

  3. (译) 在AngularJS中使用的表单验证功能

    验证功能是AngularJS里面最酷炫的功能之一,它可以让你写出一个具有良好用户体验的Web应用. 在AngularJS中,有许多用于验证的指令.我们将先学习几个最流行的内置指令,然后再创建一个自定义 ...

  4. 如何优雅的使用 Angular 表单验证

    随便说说,这一节可以跳过 去年参加 ngChine 2018 杭州开发者大会的时候记得有人问我: Worktile 是什么时候开始使用 Angular 的,我说是今年(2018年) 3 月份开始在新模 ...

  5. 让Angular自定义组件支持form表单验证

    Angular提供了一套非常强大的表单验证库(vue和react都需要第三方库的支持),可以非常方便简单实现web应用程序中的表单验证功能.但是如何让我们自定义的组件也支持验证呢? 我遇到一个需求是封 ...

  6. jquery validate表单验证插件-推荐

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  7. avalon的表单验证

    表单验证 avalon内置了强大的表单验证功能,它需要结合ms-duplex, ms-validate, ms-rules这个三个指令一起使用. ms-duplex负责监控每个表单元素的输入. ms- ...

  8. jquery validate表单验证插件

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  9. HTML5 Web Form 新增属性和表单验证

    <form>标签的基本属性 method属性:指定浏览器向服务器传送数据的方式,可选: action属性:设置服务器接受和处理表单数据的URL: enctype属性:制定表单数据在发送到服 ...

随机推荐

  1. golang vue 使用 websocket 的例子

    一. 编写golang服务端 1.导入必要的websocket包,golang.org/x/net/websocket 或 github.com/golang/net/websocket 2.编写消息 ...

  2. linux 之 DolphinScheduler 安装步骤

    下载安装包 直接进官网下载 https://dolphinscheduler.apache.org/zh-cn/download/download.html 参考官方文档 https://dolphi ...

  3. js 动态设置键值对数组 ,类似于 java 的Map 类型

    1.前言 我想设置一个数据  var json = {a1 :1  , a2 :2  , a3 :3  .....} 这样的动态数据 ,怎么写呢? 2.正确写法 var json = []; for ...

  4. 微信小程序使用Websocket

    /** 初始化websocket stomp文档 http://jmesnil.net/stomp-websocket/doc/*/initSocket: function () {var that ...

  5. 一网打尽JVM垃圾回收知识体系

    垃圾回收的区域 堆:Java 中绝大多数的对象都存放在堆中,是垃圾回收的重点 方法区:此中的 GC 效率较低,不是重点 由于虚拟机栈的生命周期和线程一致,因此不需要 GC 对象判活 在垃圾收集器对堆进 ...

  6. vivo推送平台架构演进

    本文根据Li Qingxin老师在"2021 vivo开发者大会"现场演讲内容整理而成.公众号回复[2021VDC]获取互联网技术分会场议题相关资料. 一.vivo推送平台介绍 1 ...

  7. 5种高大上的yml文件读取方式,你知道吗?

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 在上一篇文章中,我们从源码角度分析了SpringBoot解析yml配置文件的全流程,那么我们今天就来点实战,总结一下除了烂大街的@Value和@ ...

  8. Android开发之事件

    当按下一个按钮时,有两种事件促发的方式,一种是通过回调,一种是通过事件监听. 回调: xml中: 只要设置android:onclick="回调函数名字" '主函数中重写回调函数即 ...

  9. 什么是Filter过滤器

    一,什么是Filter过滤器: JavaWeb三大组件之一 Filter过滤器是JavaEE的规范.也就是接口 Filter过滤器作用:拦截请求,过滤响应 拦截请求常见的应用场景有: 1,权限检查 2 ...

  10. 自动化部署:在Windows平台安装Jenkins

    在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD).其中Jenkins是一个开源软件项目,是基于Java开发的一 ...