低代码表单引擎的核心不仅仅是拖拉拽,深入解析表单的高级功能

news2024/11/6 3:01:12

作为一名专业的低代码产品经理,我们主要以 to B 的企业级系统为配置化对象,我深知在构建高效、用户友好的企业应用系统时,表单引擎扮演着核心基础的角色。当然拖拉拽快速创建页面是最简单直接的用户体验,然而,在享受拖拉拽带来的便捷性的同时,我们绝不能忽视表单引擎中那些关乎用户体验和业务逻辑的关键动态细节。本文将重点探讨数据校验、数据联动、动态回显以及逻辑触发等核心功能,揭示它们如何共同提升表单引擎的实用性和灵活性。

不仅仅是拖拉拽:低代码表单引擎的基础与进阶

低代码平台通过直观的拖拉拽界面,极大地简化了表单设计和开发的流程。开发者可以快速组合不同的组件,调整布局,并设置基本属性,从而在短时间内创建出符合需求的表单。然而,真正的挑战在于如何超越这些基础功能,实现更高级、更动态的业务逻辑处理。

数据校验:确保数据准确性的关键

我们看一个场景:在密码输入字段中,表单引擎可以实时校验密码的复杂度,确保密码包含数字、字母和特殊字符等。如果密码不符合要求,引擎应立即给出明确的提示信息,引导用户进行修正。

数据校验是任何表单不可或缺的一部分。低代码表单引擎应提供强大的数据校验功能,确保用户输入的数据符合预设的规则和标准。这包括但不限于格式校验(如邮箱地址、电话号码的格式)、范围校验(如年龄、价格的合理范围)、必填项校验等。更重要的是,这些校验规则应该能够动态调整,以适应不同的业务场景和需求。

①:必填字段的设置校验

②:正则表达式对数据本身的校验

③:通过调用触发一个 可编排的逻辑功能,对业务进行校验

④:校验失败的提示配置

也就是 ,校验可以是基于输入的判断,可以技术数据的判断,还可以基于业务逻辑的判断,如下所示,通过触发业务逻辑,就是对业务规则层级的判断校验了

配置的方式:

a、先配置业务表单

b、设置业务逻辑触发的方式(可以是某个字段 失焦触发、可以是表单提交保存触发)

c、配置具体的校验的逻辑(具体方式可以参考 jvs-logic 逻辑引擎的配置说明)

数据联动:提升表单交互性的利器

例如,在一个产品订单表单中,当用户选择产品名称后,表单引擎可以自动从数据库中查询并显示该产品的单价、库存数量等信息。如果库存不足,还可以自动禁用提交按钮,防止用户提交无效订单。

数据联动是表单引擎中的一项高级功能,它允许表单中的不同字段之间建立关联关系,实现数据的动态更新和同步。这种功能在复杂表单中尤为重要,可以显著减少用户的重复输入,提高数据录入的效率和准确性。这里我们暂举几种情况:

A、简单场景:下拉框,下拉框的数据来源于外部数据,或者另外一个表单的模型,

在下拉框的组件 选择数据来源方式:

配置数据,选择配置数据后,可以直接在表单配置的过程中创建下拉框的选项

选择数据模型的时候,那么本质上就是选择一张其他的表里边的字段,那么要设置表的名称、下拉展示哪些字段、回填什么字段等配置

通过调用一个逻辑(可以查询多个数据来源进行加工,也可以通过API获取数据等),来获取下拉选项

还可通过动态流程来回填下拉选项,这里就不重点介绍了

B、数据回显展示

动态回显是指表单引擎根据用户的输入或其他条件,自动填充表单中的某些字段。这一功能在提升用户体验方面发挥着重要作用。通过减少用户的输入负担,动态回显可以让用户更加专注于核心信息的录入,提高表单的易用性。

例如,在用户填写注册表单时,表单引擎可以根据用户输入的邮箱地址,自动查询并显示该邮箱是否已被注册。如果邮箱已被占用,引擎可以立即给出提示,引导用户更换邮箱地址。

配置的方式:

通过四步完成动态回显:

①:把表格组件新增到表单中

②:把表格组件中拖入对应的具体字段

③:设置表格中关联的子表的模型

④:设置关联模型的过滤条件,根据汽车品牌来过滤

C、选项联动

表单中的单选框(或其他组件)之间建立关联关系,使得当用户选择某个选项时,能够自动触发其他表单元素的内容控制,如下图所示:

配置的方式可以采用:

通过在其他表查找 回显的数据选项,并且设置数据筛选的条件,以满足根据第一个单选框的选择内容去过滤第二个单选框的选项

D、级联选择

级联选择是一种基于层级关系的数据选择方式。它通常包含两个或更多级别的选择框,每个选择框的选项都依赖于前一个选择框中选定的值。例如,在选择地址时,第一个选择框可能是国家,第二个是国家内的省份,第三个是省份内的城市,以此类推,如下所示:

在配置表单的时候,选择就需要选择级联的组件,并且设置级联的数据来源于字典还是数据表,如下图所示:

E、显隐控制

显隐控制就是相当常见的业务效果了,更具某些业务组件控制另外的业务组件

公式计算:实现简单业务逻辑

逻辑触发是表单引擎中最强大的功能之一,它允许开发者定义一系列的业务公式规则,并在满足特定条件时自动执行相应的操作。这些操作可以包括数据校验、数据联动、动态回显以及更复杂的业务处理流程等。

例如,在一个请假申请表单中,表单引擎可以根据用户选择的请假类型(如事假、病假、年假等)和请假天数,自动计算并显示应扣工资或年假天数。如果请假天数超过一定限制,还可以触发审批流程,将申请提交给上级审核。

配置的方式:

总结一下

低代码表单引擎不仅仅是简单的拖拉拽工具,它还需要具备强大的数据校验、数据联动、动态回显和逻辑触,自定以业务按钮等等功能。这些功能共同构成了表单引擎的核心竞争力,使得开发者能够构建出既高效又灵活的表单应用,所以这条路还相当漫长,拖拉拽,仅仅是万里长征的第一步,如何满足业务功能的需求才是硬道理。

在线demo:https://frame.bctools.cn

基础框架开源地址:https://gitee.com/software-minister/jvs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven: 更新依赖索引清理maven仓库

文章目录 更新依赖索引清理maven仓库 更新依赖索引 有时候给 idea 配置完 maven 仓库信息后,在 idea 中依然搜索不到仓库中的 jar 包。这是因为仓库中的 jar 包索引尚未更新到 idea 中。这个时候我们就需要更新 idea 中 maven 的索引了,具体做法如下&am…

企业如何防止重要数据泄露?10个重要的小技巧!

在当今数字化时代,企业数据已成为其最宝贵的资产之一,但同时也面临着前所未有的泄露风险。数据泄露不仅可能导致财务损失,还可能损害企业声誉和客户信任。因此,采取有效措施防止重要数据泄露至关重要。以下是十个重要的小技巧&…

武威市旅游资源管理系统/旅游网站的设计与实现

摘要 经济快速发展带动下的旅游产业发展,在我国越来越被更多的人所追求。人们对获取旅游信息有很高的需求,在互联网发达的今天,制作一个旅游资源管理十分有必要。该设计根据基于jsp技术和MySQL数据库设计一个武威市旅游资源管理系统。系统的前…

自动化持续测试策略

目录 重新确定手动测试和自动化测试的关系 充分考虑自动化的可测性 尽量将自动化测试的粒度做细 策略实施的关键点 1.跨职能团队合作 2.持续学习 3.自动化测试的可测性 4.测试优化 在持续测试中,我们希望将每个测试分层上的测试都用自动化的方式来进行&…

C语言-内存管理

内存区间 在C语言中,内存被划分为以下几个区间: 栈(stack):用于存储局部变量和函数的参数。栈是由编译器自动分配和释放的,栈的大小通常是固定的。 堆(heap):用于存储动…

【Qt】输入类控件QComboBox

目录 输入类控件QComboBox 例子:使用下拉框模拟点餐 例子:从文件中加载下拉框的选项 输入类控件QComboBox QComboBox表示下拉框 核心属性 属性说明 currentText 当前选中的⽂本 currentIndex 当前选中的条⽬下标. 从 0 开始计算. 如果当前没有条…

秋招力扣Hot100刷题总结——栈和队列

1. 有效的括号 题目链接 题目要求:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。…

Linux安装并配置Hadoop

目录 一、安装并配置JDK二、安装并配置Hadoop三、安装过程中遇到的问题总结 一、安装并配置JDK Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 准备Open JDK 1.8 查询可安装的java版本 yum -y list jav…

Swin-Transformer论文阅读

在此前,transformer已经通过ViT等作品展现出了它在cv领域的无限可能性,但是,vit主要针对的是图像分类问题的讨论,而分类只是cv众多问题中最基础的问题之一。那么,怎么用transformer进行物体检测,语义分割这…

vscode中使用官方推荐的编程字体Cascadia Code字体

字体样式 > 和 有特殊效果 很多字体都支持使用连字,Cascadia Code 、Jetbrains Mono 、Fira Code 等 安装Cascadia Code 下载完成后解压安装 选中右键安装,static文件里也一样安装 VS Code 中配置设置字体和连字设置 Cascadia Code, Consolas, Couri…

基于协同过滤算法的私人诊所管理系统_6t4o8

TOC springboot571基于协同过滤算法的私人诊所管理系统_6t4o8--论文 绪 论 1.1研究背景 自改革开放以来,国内的基础网络设施的不断进步和终端电子设备的高度普及,互联网用户规模越来越大[1]。现在人们越来越离不开计算机网络、互联网所带来的好处了&…

Windows—TCP编程

服务端骨架&#xff1a; #include <iostream> #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib") #include <windows.h>int main() {WORD wVersionRequested MAKEWORD(2, 2);WSADATA WSAData;WSAStartup(wVersionRequested, &WSADat…

调用第三方API,可能会遇到的问题?

在实际工作中&#xff0c;我们经常需要在项目中调用第三方API接口&#xff0c;获取数据&#xff0c;或者上报数据&#xff0c;进行数据交换和通信。 那么&#xff0c;调用第三方API接口会遇到哪些问题&#xff1f;如何解决这些问题呢&#xff1f; 这篇文章就跟大家一起聊聊第…

浅谈国产大模型的过去、现在以及未来

随着时间推移&#xff0c;AI与大模型正在肉眼可见的降温。 怎样去衡量一款AI产品是否成功&#xff1f; 这个问题如果放在两年前&#xff0c;很多人给出的答案会集中在AI的狭义领域&#xff0c;AlphaGo、Siri、Google Assistant&#xff0c;或是用于解锁手机的图像识别技术&am…

根据json字符串 自动生成 实体类 Model Entity .NET

①访问json2csharp的在线工具&#xff1a;http://json2csharp.com/ ②复制json字符串&#xff0c;粘贴到左边&#xff0c;按下面Convert按钮 ③右边就是 生成的 实体类 &#xff0c;直接复制到 .cs文件内就能使用 ④或者点击 Zip As File 按钮&#xff0c;直接生成 N个.cs文…

编写 prometheus exporter监控 mysql group replication

用 prometheus 监控 mysql&#xff0c;之前用 mysqld_exporter 收集mysql 的监控指标&#xff0c;发现并没有 mysql 组复制状态的指标。只能自己收集了&#xff0c;编写脚本收集指标推送到 pushgateway&#xff0c;这个办法更简单但是扩缩容不是很方便。下面用 python 编写的一…

C++类模板初阶

目录 1. 泛型编程 概念&#xff1a; 2.函数模板 2.1函数摸版概念&#xff1a; 2.2函数模板格式 2.3函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3.类模板 3.1 类模板的定义格式 3.2类模板实现示例 3.3类模板的实例化 1. 泛型编程 概念&#xff1…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存(CustomData)功能(Python)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存&#xff08;CustomData&#xff09;功能&#xff08;Python&#xff09; Baumer工业相机Baumer工业相机的数据保存&#xff08;CustomData&#xff09;功能的技术背景CameraExplorer如何使用数据保存&#…

医院用过期药要赔偿多少?

法律规定&#xff0c;经营者提供商品或者服务有欺诈行为的&#xff0c;需要加倍赔偿&#xff0c;赔偿为消费者所购买商品的价款或者接受服务的费用的三倍。&#xff08;金额不足五百元的&#xff0c;为五百元。但是如果商家明知道是过期的&#xff0c;还是要卖&#xff0c;是可…

中秋节超市生鲜最全陈列指南

中秋节将至&#xff0c;超市提前布局中秋陈列&#xff0c;打好秋季营销第一战&#xff0c;中秋节期间&#xff0c;从小分类上说&#xff1a;结球类、调味类、豆类、精品蔬菜、茄果类的蔬菜销售需求比较旺盛的。 从蔬菜的单品上来数据分析得出结果是如下单品在节日期间销售上排…