vue 表单验证 vee-validate 简单使用

http://vee-validate.logaretm.com/examples.html

简单小例子

使用了邮箱格式验证,验证时间分别是延迟1s和初始时验证,除此之外还有提交前验证和异步验证

更多的例子见官网demo

这个模块压缩后还比较大

代码

<template>
  <div class="columns is-multiline">
    <div class="column is-12">
      <label class="label">Email</label>
      <p class="control has-icon has-icon-right">
        <input name="email" v-model="email"
               v-validate="'required|email'"
               data-vv-delay="1000"
               :class="{'input': true, 'is-danger': errors.has('email') }"
               type="text"
               placeholder="Email">
        <i v-show="errors.has('email')" class="fa fa-warning"></i>
        <span v-show="errors.has('email')" class="help is-danger">{{ errors.first('email') }}</span>
      </p>
    </div>
    <div class="column is-12">
      <label class="label">First Name</label>
      <p class="control has-icon has-icon-right">
        <input name="first_name"
               v-model="first_name"
               v-validate.initial="'required|alpha'"
               :class="{'input': true, 'is-danger': errors.has('first_name') }"
               type="text"
               placeholder="First Name">
        <i v-show="errors.has('first_name')" class="fa fa-warning"></i>
        <span v-show="errors.has('first_name')" class="help is-danger">{{ errors.first('first_name') }}</span>
      </p>
    </div>


  </div>
</template>

<script>
  export default {
    name: "form-test",
    data: () => ({
      email: '',
      first_name: '',
      last_name: ''
    }),
    computed: {
      name() {
        return `${this.first_name} ${this.last_name}`;
      }
    }
  }
</script>

效果

第一个的出错信息一秒后显示,而第二个在开始时就做了验证

猜你喜欢

转载自my.oschina.net/ahaoboy/blog/1793187