【问题标题】:Hide/delay password confirmation error in Vee validate在 Vee 验证中隐藏/延迟密码确认错误
【发布时间】:2018-03-12 09:36:23
【问题描述】:

当我在 Vuejs 中使用 Vee-validate 库时,当我关注密码字段时,它显示错误与密码确认不匹配。

我的代码:

   <input v-validate="'required|min:6|confirmed'" type="password" class="form-control" id="password" name="password" placeholder="New Password" v-model="password"></input>
         <span class="is-danger" v-if="errors.has('password')">{{errors.first('password')}}</span>

    <input v-validate="'required'" type="password" class="form-control" id="password_confirmation" name="password_confirmation" placeholder="Verify password">

如何使用它,直到焦点密码确认字段才显示错误?

【问题讨论】:

    标签: validation vuejs2 vee-validate


    【解决方案1】:

    好的,我搜索解决方案的时间比我应该的要长,但 vee-validate 中似乎没有内置方法,所以我想出了自己的解决方案。

    Vue.use(VeeValidate)
    
    new Vue({
     el: '#app',
     data: {
       password: '',
       password_confirmation: ''
     },
     
     computed: {
       onConfirm () {
          if(this.errors.items.length){
            return this.errors.items.find(f => {
              return f.rule !== "confirmed"
            })
          }
       }
     }
    })
    <script src="https://unpkg.com/vee-validate@2.0.5/dist/vee-validate.js"></script>
    <script src="https://unpkg.com/vue@2.5.9/dist/vue.js"></script>
    
    
    <div id="app">
      <input v-validate="'required|min:6|confirmed'" 
          type="password" 
          class="form-control" 
          id="password" 
          name="password" 
          placeholder="New Password" 
          v-model="password">
        </input>
    
      <span class="is-danger" 
        v-if="errors.has('password') && onConfirm">
          {{errors.first('password')}}
        </span>
        <input v-validate="'required'" 
        type="password" 
        class="form-control" 
        id="password_confirmation" 
        name="password_confirmation" 
        placeholder="Verify password" 
        v-model="password_confirmation"
      >
      <span class="is-danger" 
        v-if="!onConfirm  && 
        password_confirmation">
          {{errors.first('password')}}
        </span>
    </div>

    【讨论】:

    • 它对我有用。非常感谢:D
    猜你喜欢
    • 2022-10-21
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2013-09-18
    • 2015-04-03
    • 2023-02-23
    相关资源
    最近更新 更多