zoukankan      html  css  js  c++  java
  • Vue.js 表单校验插件

    Vuerify 是一个简单轻量的数据校验插件。内置基础的校验规则和错误提示。可自定义规则,规则类型支持正则、函数或者字符串。校验规则可全局注册也可以组件内注册。插件会给 vm 添加 $vuerify 对象,同时 watch 数据并校验合法性,如果有错误会存入 vm.$vuerify.$errors。

    安装

    npm i vuerify -S

    使用

    安装插件

    import Vue from 'vue'
    import Vuerify from 'vuerify'
    
    Vue.use(Vuerify, /* 添加自定义规则 */)
    
    

    添加自定义规则
    test 可以是正则或者函数

    {
     required: {
      test: /S+$/,
      message: '必填项'
     }
    }
    

    组件内注册

    {
     data () {
      username: '',
      password: ''
     },
    
     vuerify: {
      username: {
       test: /w{4,}/, // 自定义规则,可以是函数,正则或者全局注册的规则(填字符串)
       message: '至少 4 位字符'
      },
      password: 'required' // 使用全局注册的规则
     }
    }
    
    

    API

    $vuerify 包含如下属性

    name description type default Value
    $errors 数据校验失败的错误信息, 例如 username 校验失败会返回 { username: '至少 4 位字符' } Object {}
    invalid 存在校验失败的字段 Boolean true
    valid 不存在校验失败的字段 Boolean false
    check 检查指定字段,传入数组,返回 Boolean Function(Array) -
    clear 清空错误列表 Function -

    v-vuerify

    该指令可以在表单组件触发 blur 事件时验证数据并为组件设置类名(默认为 .vuerify-invalid)。可以是 input 等原生组件,也可以是自己封装过的组件。提供两个版本

    安装

    # Vue 1.x
    npm v-vuerify -S
    
    # Vue 2.0
    npm v-vuerify-next -S
    
    

    用法

    import Vue from 'vue'
    import VuerifyDirective from 'v-vuerify' // Vue1.x
    import VuerifyDirective from 'v-vuerify-next' // Vue2.0
    
    Vue.use(VuerifyDirective)
    <input v-model="username" v-vuerify="'username'">
    
    <x-input :value.sync="password" v-vuerify="'password'"></x-input>
    
    

    Params

    verifyInvalidClass

    默认类名为 vuerify-invalid

    <input v-model="username" v-vuerify="'username'" vuerify-invalid-class="error">

    Modifiers

    parent
    如果 vuerify 是在父组件注册的,那么就需要指定 parent,让指令可以从父组件获取对应的 $vuerify,具体看 demo

    Events

    vuerify-invalid
    vuerify-valid

    Github: https://github.com/QingWei-Li/vuerify

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/yuzhengbo/p/6594511.html
Copyright © 2011-2022 走看看