element form 校验数组每一项
程序员文章站
2023-11-14 20:58:58
1.校验的数据结构如下: 2.html结构 3.提交 4.效果 ......
1.校验的数据结构如下:
2.html结构
<el-dialog :title="title" :visible.sync="visable" width="40%" :before-close="cancel"> <el-form label-width="80px" :model="formdata" :rules="formdatarules" ref="formdata" > <el-form-item label="id" prop="id" v-if="formdata.id"> {{formdata.id}} </el-form-item> // begin --------------------- <div v-for="(item, index) in formdata.test" :key="index"> <el-form-item label="test1" :prop="`test[${index}].test1`" :rules="{ required: true, message: '请输入test1', trigger: 'blur' }"> <el-input type="text" v-model="item.test1"></el-input> </el-form-item> <el-form-item label="test2" :prop="`test[${index}].test2`" :rules="{ required: true, message: '请输入test2', trigger: 'blur' }"> <el-input type="text" v-model="item.test2"></el-input> </el-form-item> </div> // end --------------------- </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="cancel">取 消</el-button> <el-button type="primary" @click="save('formdata')">确 定</el-button> </div> </el-dialog>
3.提交
save(formname: string) { const el: any = this.$refs[formname] ; el.validate((valid: any) => { if (valid) { // todo 校验成功 } else { return false; } }); }
4.效果
上一篇: 浅述节点的创建及常见功能的实现
下一篇: 浅谈在Vue.js中如何实现时间转换指令