如何清除 vee-validate 中的错误对象?

新手上路,请多包涵

我想在退出方法中清除 vee-validate 中的所有错误,以下代码似乎不起作用,表单中的错误仍在显示,为什么?

 sign_out: function (e) {
    console.log('sign me out')
    var self = this
    firebase.auth().signOut().then(function () {

      console.log('sign out!')
      self.info.email = ''
      self.errors.clear()  // clear errors object of vee-validate

    }, function (error) {

      console.log('sign out failed')

    })
  },

这是一个用代码描述问题的jsFiddle,当您键入“123”时,会显示警告,然后当您单击“清除”时,该字段设置为“”,并且errors.clear()正在等待警告在表格中会消失,但它不是:

https://jsfiddle.net/8j3z82bv/1/

原文由 AngeloC 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 966
2 个回答

我想出了另一个可以提供帮助的解决方案。在您的输入中,我们将添加另一个 侦听 器,如下所示:

 <input type="email" name="email" v-model="info.email" v-validate="'required|email'" @input="validate">

然后将添加调用 vee-validate 函数的验证函数,因此您的 vue 实例将如下所示:

 var app = new Vue({
    el: '#app',
    data: {
        info: { email: '' }
    },

    methods: {

        onSignin: function (e) { },
        clear_proc: function (e) {
            delete this.info.email

            this.errors.clear()
        },
        validate: function () {
          this.$validator.validateAll();
        }
    }
})

原文由 Amr Aly 发布,翻译遵循 CC BY-SA 3.0 许可协议

版本 (3.x)

this.$refs.observer.reset();

原文由 Nana Adjei 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏