element 表单验证遇到过的问题

671 阅读1分钟

el-form-item 动态验证

当项目遇到这样的需求时

当证件类型变化时,就要验证不同类型的证件号,这时候就不用el-form上的rules, 而是el-form-item上的rules

验证 for 循环生成的 el-form

就是可增加或删除的表单时

el-form 的model这么绑定

在提交表单时

const result = []  //用一个数组记录验证结果 
await this.$refs.attribute.map(async item => {
    try {
      	result.push(await item.validate())
    } catch (error) {
      	result.push(error)
    }
})
const filtered = result.filter(item => item !== false) // 结果数组里去掉失败的
if(result.length === filtered.length){
	// result 数组的长度等于 filtered 长度则说明表单验证通过
}