element 表格嵌套表单验证指定行

elementui表格嵌套动态表单,单独验证某一行输入项是否符合校验规则;

input动态绑定校验 :prop="'imgTable.' + scope.$index + '.bxName'"

html 复制代码
<el-form :model="formTable" ref="formTable" inline size="small">
    <el-table :data="formTable.imgTable" :show-header="false" max-height="500">
        <el-table-column>
            <template slot-scope="scope">
                   <el-form-item :prop="'imgTable.' + scope.$index + '.bxName'" :rules="{
					required: true, message: '请输入报销项目', trigger: 'blur'}">
					    <el-input v-model="scope.row.bxName" placeholder="请输入报销项目"></el-input>
					</el-form-item>
            </template>
        </el-table-column>
    </el-table>
</el-form>

想要验证表单指定项需要使用 validateField,官网文档传参 Function(props: array | string, callback: Function(errorMessage: string)), array类型可以验证多个项。

javascript 复制代码
let validarr = []
this.$refs['formTable'].validateField([
	`imgTable.${i}.bxName`, `imgTable.${i}.bxMoney`, `imgTable.${i}.bxDate`
],(err) => {
	validarr.push(!err)
})
console.log(validarr.every(item=>{return item == true}))

error返回值为rules中的message内容,如果验证通过返回空;这里 !err = true

需要注意的是,验证项传参为数组时,validateField会多次返回error,不会一次返回所有项的验证结果,如果在error callback中调用其他方法会多次调用;所以额外增加了validarr的遍历判断所有项都验证通过

相关推荐
前端张三几秒前
vue3中ref在js中为什么需要.value才能获取/修改值?
前端·javascript·vue.js
爱的叹息20 分钟前
解决 Dart Sass 的旧 JS API 弃用警告 的详细步骤和解决方案
javascript·rust·sass
夕水1 小时前
这个提升效率宝藏级工具一定要收藏使用
前端·javascript·trae
会飞的鱼先生1 小时前
vue3 内置组件KeepAlive的使用
前端·javascript·vue.js
苹果酱05671 小时前
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
java·vue.js·spring boot·mysql·课程设计
前端大白话2 小时前
前端崩溃瞬间救星!10 个 JavaScript 实战技巧大揭秘
前端·javascript
一千柯橘2 小时前
Nestjs 解决 request entity too large
javascript·后端
举个栗子dhy2 小时前
如何处理动态地址栏参数,以及Object.entries() 、Object.fromEntries()和URLSearchParams.entries()使用
javascript
宁静_致远3 小时前
React Native 技术栈:基于 macOS 开发平台的 iOS 应用开发指南
前端·javascript·react native
H5开发新纪元3 小时前
VS Code 插件开发实战:代码截图工具
javascript·visual studio code