element-ui的el-table和el-form嵌套使用表单校验

摘要:
在表单中嵌套和使用表单来验证表单是el表自动获取的后台数据,每行都有el输入验证,因此一条规则的规则不能匹配每行。因此,如果动态属性和规则规则需要如下,则验证警报阈值是无用的。上述代码˂el-table:data=“

表格中嵌套使用表单验证

表格是el-table自动获取的后台数据,每行都有el-input的验证,这样一个rules的规则就不能匹配到每一行,所以要是用动态的prop和rules规则

需求如下,要对告警阈值进行验证

element-ui的el-table和el-form嵌套使用表单校验第1张

废话不多说,上代码

<el-form :model="paramsForm"
                                 ref="rForm"
                                 :rules="paramsForm.paramsRules">
                            <el-table
                                :data="paramsForm.params"
                                style=" 100%">
                                <el-table-column
                                    label="检测类型"
                                     
                                    width="160">
                                    <template slot-scope="scope">
                                        <span>{{ scope.row.kpiName }}</span>
                                    </template>
                                </el-table-column>
                                <el-table-column
                                    label="检测开关"
                                    align="center">
                                    <template slot-scope="scope">
                                        <el-switch
                                            v-model="scope.row.kpiStatus"
                                            :disabled="isDisabled"
                                            active-text="关闭"
                                            inactive-text="开启">
                                        </el-switch>
                                    </template>
                                </el-table-column>
                                <el-table-column
                                    label="报警阈值"
                                    align="center">
                                    <template slot-scope="scope">
                                            <el-row>
                                                <el-col :span="10" style="height:23px;">
                                                    <el-form-item
                                                        v-if="scope.row.kpiType === 'range'"
                                                        :prop="'params.' + scope.$index + '.min'"
                                                        :rules="paramsForm.paramsRules.min">
                                                        <el-input v-model.number="scope.row.min" size="small" :disabled="isDisabled"></el-input>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="1">-</el-col>
                                                <el-col :span="10">
                                                    <el-form-item
                                                        v-if="scope.row.kpiType === 'range'"
                                                        :prop="'params.' + scope.$index + '.max'"
                                                        :rules="paramsForm.paramsRules.max">
                                                        <el-input v-model.number="scope.row.max" size="small" :disabled="isDisabled"></el-input>
                                                    </el-form-item>
                                                </el-col>
                                            </el-row>
                                    </template>
                                </el-table-column>
                            </el-table>
                        </el-form>

关键一

此处 data中定义的变量,params:表格数据,后台查询获得;paramsRules:校验规则

element-ui的el-table和el-form嵌套使用表单校验第2张

关键二

此处 :model、:rules不啰嗦解释

element-ui的el-table和el-form嵌套使用表单校验第3张

关键三

此处 :prop="'params.' + scope.$index + '.min'"和:rules="paramsForm.paramsRules.min"即动态对应上每行数据的校验规则,其他不解释

element-ui的el-table和el-form嵌套使用表单校验第4张

如此而已,遇事不要慌,欢迎留言交流

免责声明:文章转载自《element-ui的el-table和el-form嵌套使用表单校验》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇泛微E8升级E9代码修改IAR for STM8的简介、下载、安装及注册教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

bootstrapValidator 重置表单

最近在公司做业务系统后台,用的js框架还是jquery ui框架 是以bootstrap为基础的beyondadmin-v1.4.s3这套,用起来还挺不错,所以公司所有的后台ui都使用这套。这套ui框架表单验证也使用的是bootstrap validate这个插件,比较流行的。文档和教程都还挺多的。功能比较齐全,扩展性也很好。 这次碰到问题就是 产品中的...

jQuery Validate插件实现表单强大的验证功能

转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。 第一节:jQuery Validation让验证变得如此容易 一、...

html5表单验证(Bootstrap)

html5表单验证(Bootstrap) 邮箱验证: <input name="email" type="text" placeholder="必填项"   required pattern="^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$" title="邮箱正确格式...

2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因)

参考精通Python网络爬虫实战 首先,针对chinaunix importurllib.request #原书作者提供的测试url url="http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LctlC"he...

ExtJs控件属性配置详细

Ext.form.TimeField: 配置项:maxValue:列表中允许的最大时间maxText:当时间大于最大值时的错误提示信息minValue:列表中允许的最小时间minText:当时间小于最小值时的错误提示信息increment:两个相邻选项间的时间间隔,默认为15分钟format:显示格式,默认为“g:i A”。一般使用“H:i:s”H:带前缀...

Form表单提交数据的几种方式

一、submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type=’submit’>)就可以进行数据的提交,每一个input标签都需要有一个name属性,才能进行提交。 <form action=’http://www.123.com/postValue’ me...