美文网首页
Vue 笔记

Vue 笔记

作者: 专业打码高科技 | 来源:发表于2016-12-28 11:54 被阅读0次

    [TOC]

    github

    https://github.com/kazupon/vue-validator/tree/2.x/docs/zh-cn
    

    安装

    CDN

    <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
    <script src="//cdn.bootcss.com/vue/1.0.28-csp/vue.js"></script>
    <script src="//cdn.bootcss.com/vue-validator/2.1.6/vue-validator.js"></script>
    

    入门

    var vue = new Vue({
      el: '#app'
    })
    
    • validator元素
      把表单放在该元素下面即可
    • v-validate 指令
      该指令用来指定验证条件
    <div id="app">
    <validator name="validation1">
        <form novalidate>
          <div class="username-field">
            <label for="username">用户名:</label>
            <input id="username" type="text" v-validate:username="['required']">
          </div>
          <div class="comment-field">
            <label for="comment">内容:</label>
            <input id="comment" type="text" v-validate:comment="{ maxlength: 256 }">
          </div>
          <div class="errors">
            <p v-if="$validation1.username.required">用户名必填</p>
            <p v-if="$validation1.comment.maxlength">最大不能超过256长度</p>
          </div>
          <input type="submit" value="send" v-if="$validation1.valid">
        </form>
    </validator>
    </div>
    

    ps

    验证器名称不要与 Vue.js 中的自带属性重复,如 $event
    

    验证结果结构

    验证结果保存在如下结构中

    {
      // 顶级验证属性
      valid: true,
      invalid: false,
      touched: false,
      undefined: true,
      dirty: false,
      pristine: true,
      modified: false,
      errors: [{
        field: 'field1', validator: 'required', message: 'required field1'
      }, ... {
        field: 'fieldX', validator: 'customValidator', message: 'invalid fieldX'
      }],
    
      // field1 validation
      field1: {
        required: false, // build-in validator, return `false` or `true`
        email: true, // custom validator
        url: 'invalid url format', // custom validator, if specify the error message in validation rule, set it
        ...
        customValidator1: false, // custom validator
        // field validation properties
        valid: false,
        invalid: true,
        touched: false,
        undefined: true,
        dirty: false,
        pristine: true,
        modified: false,
        errors: [{
          validator: 'required', message: 'required field1'
        }]
      },
    
      ...
    
      // fieldX validation
      fieldX: {
        min: false, // validator
        ...
        customValidator: true,
    
        // fieldX validation properties
        valid: false,
        invalid: true,
        touched: true,
        undefined: false,
        dirty: true,
        pristine: false,
        modified: true,
        errors: [{
          validator: 'customValidator', message: 'invalid fieldX'
        }]
      },
    }
    
    

    全局结果可以直接从验证结果中获取到,字段验证结果保存在以字段名命名的键下

    字段验证结果

    valid: 字段有效时返回 true,否则返回 false
    
    invalid: valid相反结果
    
    touched: 字段获得过焦点时返回 true,否则返回 false
    
    untouched: touched 相反结果
    
    modified: 字段值与初始值不同时返回 true,否则返回 false
    
    dirty: 字段值改变过至少一次时返回 true,否则返回 false
    
    pristine: dirty 相反结果
    
    errors: 字段无效时返回存有错误信息的数据,否则返回 undefined
    
    

    全局结果

    valid: 所有字段都有效时返回 true,否则返回 false。
    
    invalid: 只要存在无效字段就返回 true,否则返回 false。
    
    touched: 只要存在获得过焦点的字段就返回 true,否则返回 false。
    
    untouched: touched 的逆。
    
    modified: 只要存在与初始值不同的字段就返回 true,否则返回 false。
    
    dirty: 只要存在值改变过至少一次的字段就返回 true,否则返回 false。
    
    pristine: 所有字段都没有发生过变化时返回 true,否则返回 false。
    
    errors: 有无效字段时返回所有无效字段的错误信息,否则返回 undefined。
    
    

    验证器语法

    自定义验证时机

    相关文章

      网友评论

          本文标题:Vue 笔记

          本文链接:https://www.haomeiwen.com/subject/cidyvttx.html