我对表单中的每个输入使用veevalidate规则。提交有效数据后,所有这些数据都已成功发送到后端,但是在前端,每个输入都被高亮显示为有效。
我已经从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();
...
答案 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();
...