找回密码
 立即注册

QQ登录

只需一步,快速开始

meteor
金牌服务用户   /  发表于:2018-10-22 15:35  /   查看:7600  /  回复:13
在用活字格做业务系统中,难免会遇到对各种业务逻辑的校验操作。虽然活字格提供了“数据验证”这个非常近似excel数据校验的强大的功能,但是在批量化生产的时候总会有些小绕,而且不是太直观。作为活字格的初学者,有了这个业务逻辑校验的尝试。
demo参考副件工程。很简单的示例,就是假设有两个业务逻辑:1. 当客户是“淘宝”的时候,下单金额要大于3000.  2. 当业务员是“张三” 的时候,下单金额不得大于1000. 点击提交按钮后校验业务逻辑,校验成功保存数据。

当然,如果仅仅是实现如上,用活字格常规的数据验证就能搞定,具这个例子的目的在于抛砖引玉,大家可以一起讨论下是否能对业务逻辑验证的通用操作有所改善。

先说这个工程示例的实现步骤:
1. 文件-设置-自定义javascript/css  ,将帖子附件的layer.js  和 AsuraUtil.js上传。注意这两个js的顺序。如下图。
image.png734130859.png
PS: 这里用了贤心大神的layer做弹窗通知组件,主要是实在太好看了:)

2.在上图的操作后,同页面“打开资源文件夹”,将theme 和mobile两个文件夹拷入。 要不然弹窗会丢掉css
image.png714281310.png

3. 常规的建表,做页面等略。
4. 在旁边一个隐藏区域写上逻辑校验公式,校验公式的单元格旁写上这条校验失败后的提示文本。并将这个区域全选,这个单元格区域 命名为"checkRect"(这个名称可以自定义,后面会说到。
image.png587510070.png

4.提交按钮的命令编辑,在需要判断校验逻辑的时候加上条件命令,如图
image.png914680175.png
return LogicValid("checkRect");  注意,这里的checkRect就是定义的校验区域名称。 也就是意味着,假设这个页面逻辑很复杂,需要在不同的操作阶段进行不同批的逻辑校验,那就可以定义出不同的校验区域名称,都按照上面的格式,定义出"validA","validB"等等,然后在条件命令里面只是换掉这个区域名称就搞定了。

大家是否有更好的办法,可以一起讨论下



逻辑校验实践示例.fgcc

557.92 KB, 下载次数: 62

逻辑校验实践.zip

37.91 KB, 下载次数: 63

评分

参与人数 1金币 +666 收起 理由
Simon.hu + 666 赞一个!

查看全部评分

13 个回复

倒序浏览
meteor
金牌服务用户   /  发表于:2018-10-22 17:03:23
沙发
实际运行效果的动图。 示例.gif

回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-10-23 09:42:50
板凳
本帖最后由 Simon.hu 于 2018-10-23 10:12 编辑

谢谢,刘老板的热心分享!
回复 使用道具 举报
lijetcart悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2018-10-23 09:49:44
地板
谢谢刘版本热心分享...
回复 使用道具 举报
dino活字格认证
高级会员   /  发表于:2018-10-23 09:58:33
5#
meteor 发表于 2018-10-22 17:03
实际运行效果的动图。

从产品的角度来说,这样设计是不适合业务发展的。。一旦业务规则发生变化,就需要重新修改发布。。所以按照常规的设计方式,应该是用配置文件,或者数据表的方式来配置业务规则,根据配置的数据来检验。
回复 使用道具 举报
lwt悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-10-23 10:00:36
6#
非常不错了功能,一直感觉校验不太友好统一,这种方式真好,可以内置成插件就更方便了。
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-10-23 10:13:59
7#
大家估计有不同的业务场景,没关系,咱一起学习,肯定是好的。
回复 使用道具 举报
meteor
金牌服务用户   /  发表于:2018-10-23 10:20:54
8#
dino 发表于 2018-10-23 09:58
从产品的角度来说,这样设计是不适合业务发展的。。一旦业务规则发生变化,就需要重新修改发布。。所以按 ...

这主要取决于活字格平台。 因为按目前的平台开发模式,业务规则变化,应该就是要在模板页面上进行修改了,单纯靠配置的话恐怕局限性会更大,如果规则允许配置,业务规则需要页面增加字段显示也应该变得可配置。另外,如果业务逻辑复杂,也许简单的配置也不行,我觉得是不是可能需要把业务规则变成脚本形式,热加载动态的脚本的形式之类哈
回复 使用道具 举报
meteor
金牌服务用户   /  发表于:2018-10-23 10:24:25
9#
lwt 发表于 2018-10-23 10:00
非常不错了功能,一直感觉校验不太友好统一,这种方式真好,可以内置成插件就更方便了。

有考虑是否能做成校验插件,不过插件的部分也刚学,可以尝试下。就是希望讨论下看还有哪些插件的配置选项,会更适合做业务逻辑校验。
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-10-30 17:47:15
10#
有关于好看样式的问题,活字格5.0 就会解决了,我已经偷瞄过了,确实很好看
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部