uniapp 之 uni-forms校验提示【提交的字段[‘xxx‘]在数据库中并不存在】解决方案
目录
- 场景
- 问题代码
- 结果
- 问题剖析
- 解决方案
场景
uni-forms官方组件地址
使用uniapp官方提供的组件,某个表单需求,单位性质字段如果是高校,那么工作单位则是高校的下拉选择格式,单位性质如果是其他的类型,工作单位则是手动输入的输入框格式的。
问题代码
<uni-forms ref="form" :modelValue="formData" :rules="rules" class="form-box" err-show-type="toast" label-width="120px" border><!-- ...只放了一些主要代码... --><uni-forms-item label="单位性质" name="unitCategory" required><z-picker dict-type="icm_unit_category" v-model="formData.unitCategory"></z-picker></uni-forms-item><uni-forms-itemlabel="工作单位"name="unitName"requiredv-if="formData.unitCategory != 1"><uni-easyinput v-model="formData.unitName" placeholder="请输入" :input-border="false" maxlength="50" /></uni-forms-item><uni-forms-itemlabel="工作单位"name="tenantId"requiredv-if="formData.unitCategory == 1"><z-selectv-model="formData.tenantId"url="/admin-api/system/tenant/list":query-params="{ pageNo: 1, pageSize: 100, unitCategory: 1 }"search-key="name"result-key="list"label-key="name"@curr-item="(item) => (formData.unitName = item.name)"></z-select></uni-forms-item><!-- ...只放了一些主要代码... -->
</uni-forms><view class="flex-item-center btns fixed-bottom-box"><button type="primary" plain class="save-btn" @click="save">暂 存</button><button type="primary" class="submit-btn" @click="submit">提 交</button>
</view>
submit: $debounce.throttle(async function () {await this.$refs.form.validate()// ... 其他提交逻辑代码
})
结果
点击提交结果提示:提交的字段['tenantId']在数据库中并不存在


问题剖析
出现这个问题是因为v-if导致的,初始的时候条件没有满足,导致相应的dom没有渲染,后续虽然满足了条件,dom渲染了,但是由于ui-forms组件等原因并没有正确获取的重新渲染后的dom中的变量;
解决方案
- 方案1:给
v-if绑定的元素加key
<uni-forms-itemlabel="工作单位"name="unitName"requiredv-if="formData.unitCategory != 1":key="formData.unitCategory"
><uni-easyinput v-model="formData.unitName" placeholder="请输入" :input-border="false" maxlength="50" />
</uni-forms-item>
<uni-forms-itemlabel="工作单位"name="tenantId"requiredv-if="formData.unitCategory == 1":key="formData.unitCategory"
><z-selectv-model="formData.tenantId"url="/admin-api/system/tenant/list":query-params="{ pageNo: 1, pageSize: 100, unitCategory: 1 }"search-key="name"result-key="list"label-key="name"@curr-item="(item) => (formData.unitName = item.name)"></z-select>
</uni-forms-item>
- 方案2:给
v-if的元素再套一层父元素如<template>,并将v-if放到父元素上面
<template v-if="formData.unitCategory != 1"><uni-forms-itemlabel="工作单位"name="unitName"required><uni-easyinput v-model="formData.unitName" placeholder="请输入" :input-border="false" maxlength="50" /></uni-forms-item>
</template>
<template v-if="formData.unitCategory == 1"><uni-forms-itemlabel="工作单位"name="tenantId"required><z-selectv-model="formData.tenantId"url="/admin-api/system/tenant/list":query-params="{ pageNo: 1, pageSize: 100, unitCategory: 1 }"search-key="name"result-key="list"label-key="name"@curr-item="(item) => (formData.unitName = item.name)"></z-select></uni-forms-item>
</template>
完美解决。
相关文章:
uniapp 之 uni-forms校验提示【提交的字段[‘xxx‘]在数据库中并不存在】解决方案
目录 场景问题代码结果问题剖析解决方案 场景 uni-forms官方组件地址 使用uniapp官方提供的组件,某个表单需求,单位性质字段如果是高校,那么工作单位则是高校的下拉选择格式,单位性质如果是其他的类型,工作单位则是手动…...
excel VBA 基础教程
这里写目录标题 快捷键选择所有有内容的地方 调试VBA录制宏,打开VBA开发工具录制宏,相当于excel自动写代码(两个表格内容完全一致才可以) 查看宏代码保持含有宏程序的文件xlsm后缀(注意很容易有病毒)宏文件安全设置 使…...
基于异步IO的io_uring
基于异步IO的io_uring 1. io_uring的实现原理 io_uring使用了一种异步IO机制,它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信,用户只需将IO请求放入提交队列,当内核完成IO请求时,会将结果放入完成队列&…...
【江协STM32】10-2/3 MPU6050简介、软件I2C读写MPU6050
1. MPU6050简介 MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景3轴加速度计(Accelerometerÿ…...
仓颉笔记——写一个简易的web服务并用浏览器打开
创建一个web服务端,同时创建一个客户端去读取这个服务端。 也满足浏览器打开web的需求。 直接上代码。 import net.http.* import std.time.* import std.sync.* import std.log.LogLevel// 1. 构建 Server 实例 let server ServerBuilder().addr("127.0.0.1&…...
DolphinScheduler自身容错导致的服务器持续崩溃重大问题的排查与解决
01 问题复现 在DolphinScheduler中有如下一个Shell任务: current_timestamp() { date "%Y-%m-%d %H:%M:%S" }TIMESTAMP$(current_timestamp) echo $TIMESTAMP sleep 60 在DolphinScheduler将工作流执行策略设置为并行: 定时周期调度设置…...
ecmascript 标准+ 严格模式与常规模式 + flat-flatMap 应用
文章目录 ecmascript 历程严格模式与常规模式下的区别及注意事项严格模式下的属性删除Array.prototype.flat()和Array.prototype.flatMap() 实例应用 ecmascript 历程 变量声明要求 常规模式: 在常规模式下,使用var关键字声明变量时会出现变量提升现象。…...
基于ILI9341液晶屏+STM32U5单片的显示试验
试验要求: 1、通过串口,下发两个命令 STR和PIC; 2、STR模式: (1)串口输入什么,屏幕上显示什么 (2)如果屏幕满,自动下滚 (3)输入回车&a…...
最短路径算法
关注:算法思路,时间复杂度,适用情况(单源/多源,负边权/负边权回路) 复习弗雷德算法--基于动态规划--多源--负边权--时间复杂度O(v^3) int的最大值是0x7fffffff #include <iostream> using namesp…...
如何用 ESP32-CAM 做一个实时视频流服务器
文章目录 ESP32-CAM 概述ESP32-S 处理器内存Camera 模块MicroSD 卡槽天线板载 LED 和闪光灯其他数据手册和原理图ESP32-CAM 功耗 ESP32-CAM 引脚参考引脚排列GPIO 引脚哪些 GPIO 可以安全使用?GPIO 0 引脚MicroSD 卡引脚 ESP32-CAM 的烧录方式使用 ESP32-CAM-MB 编程…...
Centos7 解决Maven scope=system依赖jar包没有打包到启动jar包中的问题(OpenCV-4.10)
最近项目中遇到问题,OpenCV的Jar包在程序打包后,找不到相关的类,比如MAT,这个时候怀疑OpenCV_4.10的Jar没有和应用程序一起打包,后面排查到确实是没有打包进去,特此记录,便于日后查阅。 <!-- 加载lib目录下的opencv包 --> <dependency><groupId>org…...
iOS实际开发中使用Alamofire实现多文件上传(以个人相册为例)
引言 在移动应用中,图片上传是一个常见的功能,尤其是在个人中心或社交平台场景中,用户经常需要上传图片到服务器,用以展示个人风采或记录美好瞬间。然而,实现多图片上传的过程中,如何设计高效的上传逻辑并…...
如何将分割的mask转为为分割标签
将分割的mask转换为分割标签通常涉及将每个像素的类别标识(在mask中以不同的灰度值或颜色表示)转换为整数标签。这些标签通常用于机器学习或深度学习模型的训练、验证和测试阶段。 使用方式,控制台或者命令行使用以下命令: pyth…...
【动手学电机驱动】STM32-MBD(5)Simulink 模型开发之 PWM 输出
STM32-MBD(1)安装 Simulink STM32 硬件支持包 STM32-MBD(2)Simulink 模型部署入门 STM32-MBD(3)Simulink 状态机模型的部署 STM32-MBD(4)Simulink 状态机实现按键控制 STM32-MBD&…...
MySQL进阶突击系列(05)突击MVCC核心原理 | 左右护法ReadView视图和undoLog版本链强强联合
2024小结:在写作分享上,这里特别感谢CSDN社区提供平台,支持大家持续学习分享交流,共同进步。社区诚意满满的干货,让大家收获满满。 对我而言,珍惜每一篇投稿分享,每一篇内容字数大概6000字左右&…...
vue2日历组件
这个代码可以直接运行,未防止有组件库没安装,将组件库的代码,转成文字了 vue页面 <template><div class"about"><div style"height: 450px; width: 400px"><div style"height: 100%; overflo…...
【PyQt】多行纯文本框
[toc]qt多行纯文本框 QPlainTextEdit QPlainTextEdit 是可以多行的纯文本编辑框 文本浏览框 内置了一个** QTextDocument **类型的对象 ,存放文档。 1.信号:文本被修改 当文本框中的内容被键盘编辑,被点击就会发出 textChanged 信号&…...
workerman5.0篇〡异步非阻塞协程HTTP客户端
概述 workerman/http-client 是一个异步http客户端组件。所有请求响应异步非阻塞,内置连接池,消息请求和响应符合PSR7规范。 Workerman 5.0 版本中的异步HTTP协程客户端组件是一个基于PHP协程的高性能HTTP客户端,它能够充分利用PHP的异步特…...
JavaScript 延迟加载的方法( 7种 )
JavaScript脚本的延迟加载(也称为懒加载)是指在网页的主要内容已经加载并显示给用户之后,再加载或执行额外的JavaScript代码。这样做可以加快页面的初始加载速度,改善用户体验,并减少服务器的压力。 以下是几种常见的延…...
python+pymysql
python操作mysql 一、python操作数据库 1、下载pymysql 库, 方法一:pip3 install pymysql 或pip install pymysql 方法二:在pycharm中setting下载pymysql 2、打开虚拟机上的数据库 3、pymysql连接 dbpymysql.Connection(host&qu…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
