提交后如何解决验证错误

时间:2019-07-03 15:02:10

标签: vue.js nuxt.js vee-validate

我对表单中的每个输入使用veevalidate规则。提交有效数据后,所有这些数据都已成功发送到后端,但是在前端,每​​个输入都被高亮显示为有效。

enter image description here

我已经从veevalidate添加了重置方法,以取消选择提交时的任何错误。但这不起作用。这是我的代码的一部分

       beforeSubmit() {
       this.$validator.pause();
       this.$nextTick(() => {
          this.$validator.errors.clear();
          this.$validator.fields.items.forEach(field => 
           field.reset());
          this.$validator.fields.items.forEach(field => 
          this.errors.remove(field));
          this.$validator.resume();
           });

          this.$validator.validateAll().then((result) => {
              this.onSubmit();
              ...

1 个答案:

答案 0 :(得分:0)

我来解决:使用$ nextTick在下一次渲染中从表单中删除所有错误后,我们应该用this。$ validator.reset()替换this。$ validator.resume()方法。就是这样。 一般来说,工作部分是

beforeSubmit() {
   this.$validator.pause();
   this.$nextTick(() => {
          this.$validator.errors.clear();
          this.$validator.fields.items.forEach(field => 
           field.reset());
          this.$validator.fields.items.forEach(field => 
          this.errors.remove(field));
          this.$validator.reset();
           });

          this.$validator.validateAll().then((result) => {
              this.onSubmit();
              ...