this.$refs.form.validate((valid, object) => {
if (valid) {
alert('submit!');
} else {
var str = ''
const arr = []
for(let value in object){ // 处理 报错 提示信息
arr.push(object[value][0])
}
const results = arr
results.forEach((val, ind) => { // 拼接报错的信息
if (val.message !== '') {
if (ind !== results.length - 1) {
str += val.message + ', '
} else {
str += val.message
}
}
})
var strArr = str.split(', ')
strArr.forEach((e, ix) => {
if (strArr[ix] === strArr[ix + 1]) {
strArr.splice(ix, 1)
}
})
str = strArr.join(', ')
this.$message({ type: 'warning', dangerouslyUseHTMLString: true, message: str })
return false;
}
});
- 写一个全局的方法 global.js
formErrorScroll() { // 报错回到第一个错误的地方
if (document.querySelector('.el-form-item__error')) {
document
.querySelector('.el-form-item__error')
.parentNode.scrollIntoView({
block: 'start',
behavior: 'smooth'
})
}
}
-
在main.js中引入才可使用
-
import Global from ‘@/base/global’
-
或者在页面中 import { formErrorScroll } from "@/base/Global ";
-
页面中使用
this.$nextTick(() => {
this.Global.formErrorScroll()
})