首页 > 其他分享 >evel()与table里面循环校验器的结合使用

evel()与table里面循环校验器的结合使用

时间:2024-03-15 10:22:25浏览次数:22  
标签:evel rules 校验 value trigger blur table row

<el-form :rules="rules" ref="formTableRef" :model="formTable" label-position="top" label-width="100px">
            <el-table :data="formTable.tableData" style="width: 100%">
                <el-table-column prop="month" align="center" label="月份">
                    <template #default="{ row }">
                        <span>{{ row.month }}月</span>
                    </template>
                </el-table-column>
                <el-table-column prop="startDate" align="center" label="开始日期">
                    <template #default="{ row, $index }">
                        <el-form-item :prop="`tableData[${$index}].startDate`" :rules="rules.startDate" :label-width="1">
                            <el-date-picker
                                style="width: 100%"
                                type="date"
                                :clearable="false"
                                @change="changeStartDate(row)"
                                value-format="YYYY-MM-DD"
                                v-model="row.startDate"
                                placeholder="请选择时间"
                            >
                            </el-date-picker>
                        </el-form-item>
                    </template>
                </el-table-column>
                <el-table-column prop="endDate" align="center" label="结束日期">
                    <template #default="{ row, $index }">
                        <el-form-item :prop="`tableData[${$index}].endDate`" :rules="rules.endDate" :label-width="1">
                            <el-date-picker
                                style="width: 100%"
                                type="date"
                                @change="changeStartDate(row)"
                                :clearable="false"
                                value-format="YYYY-MM-DD"
                                v-model="row.endDate"
                                placeholder="请选择时间"
                            >
                            </el-date-picker>
                        </el-form-item>
                    </template>
                </el-table-column>
                <el-table-column prop="costDays" align="center" label="总天数(天)">
                    <template #default="{ row }">
                        <span>{{ row.costDays ? row.costDays : "/" }}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="effectiveDays" align="center" label="工作天数(天)">
                    <template #default="{ row, $index }">
                        <el-form-item :prop="`tableData[${$index}].effectiveDays`" :rules="rules.effectiveDays" :label-width="1">
                            <el-input v-model="row.effectiveDays" @blur="changeWorkDay(row)" placeholder="请填写天数"> </el-input>
                        </el-form-item>
                    </template>
                </el-table-column>
                <el-table-column prop="effectiveHours" align="center" label="有效时间(小时)">
                    <template #default="{ row }">
                        <span>{{ row.effectiveHours ? row.effectiveHours : "/" }}</span>
                        <!-- <span>{{ row.effectiveDays ? parseFloat(row.effectiveDays) * 8 : "/" }}</span> -->
                    </template>
                </el-table-column>
            </el-table>
        </el-form>
const rules = {
    startDate: [
        {
            required: true,
            message: "请选择时间",
            trigger: "blur"
        },
        { validator: testDate, trigger: "blur" }
    ],
    endDate: [
        {
            required: true,
            message: "请选择时间",
            trigger: "blur"
        }
    ],
    effectiveDays: [
        {
            required: true,
            message: "请填写天数",
            trigger: "blur"
        },
        { validator: rule.isZeroTwo, trigger: "blur" }
    ]
};
const testDate = (rules: any, value: any, callback: Function) => {
    if (!value) {
        return new Error("请输入内容");
    } else {
        console.log("rules", eval("formTable.value." + rules.field), formTable.value.tableData[1].startDate);
        console.log("value", value);
        console.log("callback", callback);
    }
};

重点是这个testDate里面,rules.field = "tableData[1].startDate"字符串,想要其与formTable.value.组合只能使用evel(),要么就是解析字符串,evel最简单

标签:evel,rules,校验,value,trigger,blur,table,row
From: https://www.cnblogs.com/lsc-boke/p/18074858

相关文章

  • 多线程系列(二十) -CompletableFuture使用详解
    一、摘要在上篇文章中,我们介绍了Future相关的用法,使用它可以获取异步任务执行的返回值。我们再次回顾一下Future相关的用法。publicclassFutureTest{publicstaticvoidmain(String[]args)throwsException{longstartTime=System.currentTimeMillis()......
  • C# 哈希表Hashtable与字典表Dictionary<K,V>的比较。
    原文链接:https://blog.csdn.net/heyuchang666/article/details/50503240?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-50503240-blog-104036330.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-u......
  • [基础] Stable Diffusion, High-Resolution Image Synthesis with Latent Diffusion M
    名称StableDiffusion,High-ResolutionImageSynthesiswithLatentDiffusionModelsTL;DR这篇文章介绍了一种名为潜在扩散模型(LatentDiffusionModels,LDMs)的新型高分辨率图像合成方法。LDMs通过在预训练的自编码器的潜在空间中应用扩散模型,实现了在有限计算资源下训练高......
  • 用免费GPU部署自己的stable-diffusion-学习笔记
    最近由于工作需要,开始学习AI+大模型,零基础,听从同事的推荐报名参加了一个免费学习团队,本文是整理的一些学习笔记。课程是趋动云提供支持的,在注册时赠送了足够学习使用的188算力。项目在趋动云上可以直接快速简洁地部署起来,不用自己配置环境、安装软件。教程是傻瓜式的,跟着步骤一......
  • C#实现DataTable数据分割处理
    【转自】https://www.cnblogs.com/rongfengliang/p/4385572.html一个简单的使用遍历的方式进行DataTable的拆分 privatestaticList<DataTable>DataTableSplite(DataTabledt,intmodcounts){List<DataTable>list=newList<DataTable>();......
  • netfilter: iptable的使用
    netfilter相关网址官网:netfilter/iptablesprojecthomepageiptables基础知识详解_LarryHai6的博客-CSDN博客_iptables使用iptables进行端口转发-云+社区-腾讯云(tencent.com)原理图iptables1.原理叙述iptables具有Filter,NAT,Mangle,Raw四种内建表:1.Filter......
  • GitLab中用户的五种权限 Guest、Reporter、Developer、Master、Owner
     ......
  • 浅谈奇偶校验
    奇校验:"1"的个数为奇数偶校验:"1"的个数为偶数(补充的1位校验码放在前后其实都可以,这里是往后面放)比如001的奇校验0010,偶校验0011比如010的奇校验0100,偶校验0101比如011的奇校验0111,偶校验0110简简单单,但是为什么奇偶校验的码距是2呢?首先需要知道码距是什么定......
  • 【DataWhale学习】用免费GPU线上跑StableDiffusion项目实践
    用免费GPU线上跑SD项目实践​DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而SD我前两天刚跟着B站秋叶大佬和Nenly大佬的视频学习过......
  • Mysql优化之optimize table
    起因出于于性能考虑,生产上采用冷热库的方式,热库中保存最近的数据,每隔一段时间自动备份到冷库中并从热库中删除。但时间久了之后,就会发现磁盘占用量越来越大。主要原因就是delete语句只是将记录的位置标记为“可复用”,但磁盘空间并不会直接回收。解决方案使用optimizetable命令......