如题:如何在前端实时获取他表或本表符合动态条件的记录数量
业务场景:
1,我想实现用户在前端填写记录时,能够实时获取到某表的记录数量,从而校验当前记录是否可以被提交
2,我用了汇总字段,但这个汇总字段只能汇总当前子表记录或关联记录,它们分别有 200 和 50 的限制,很不好用
3,
我现在的解法:
1,就是利用提交纪录时的字段唯一值;判定数据库内记录有更新;从而强制用户重新建新纪录
2,利用多个辅助子表,多重筛选条件来一点点框定数据记录范围
求大佬来个好一点的解法
如题:如何在前端实时获取他表或本表符合动态条件的记录数量
业务场景:
1,我想实现用户在前端填写记录时,能够实时获取到某表的记录数量,从而校验当前记录是否可以被提交
2,我用了汇总字段,但这个汇总字段只能汇总当前子表记录或关联记录,它们分别有 200 和 50 的限制,很不好用
3,
我现在的解法:
1,就是利用提交纪录时的字段唯一值;判定数据库内记录有更新;从而强制用户重新建新纪录
2,利用多个辅助子表,多重筛选条件来一点点框定数据记录范围
求大佬来个好一点的解法
听人劝吃饱饭 2023-08-03 16:10:07更严谨一点是还有个分支对比超量的
因为 如果你页面挂着这个 不提交,这个剩余量不是实时的(UI 问题),也会提交成功
感谢回复, 您这个直接有业务场景了,感谢,我和大佬们之间的差距就是表单设计这块,😄
——————————————————————
是的,您最后一句说对了,因为 UI 的问题,导致不能做到实时刷新,
我用唯一值解决了实时刷新,却无法解决用户体验问题,现在主要的讨论点是在这里
听人劝吃饱饭 2023-08-03 15:53:02
如果用于公开 可以把类型的名称 定为
分开填写的地址
超量判断,用于卡当前未提交的页面
素心以航 2023-08-03 15:58:14理解了一半了;所有文本字段都有一个默认值,默认值有一种方式要查询他表字段。然后你增加一个文本字段作为重复的校验字段,这个字段的默认值就是通过查询表的方式获取到你填写的这表中文本字段的值。如果能获取到,就说明这个字段在你现在表中有记录。这时你的表中是不是有两个字段是一样的值,然后通过表的规则设置成当这两个字段的值的相同的时候,你就提示错误,错误内容就可以自定义。
不是不是,我这个是为解决提交的时候再去数据库查询的逻辑,
不是为了解决编辑的时候去数据库查询的逻辑,您也说了,编辑的时候可能数据库新增了数据
全耘伸 2023-08-03 15:51:28大佬,我没理解哈,我描述一下我的领悟
————————————————
1,我这个名称不允许重复是怎么来的
2,首先设定字段的属性为不允许重复
3,当用户提交记录的时候,自动会在数据库搜索所有此字段的值有没有重复,有重复,提示就出现了
——————————————————————
所以大佬您说的通过查询表的默认字段,我没理解,我看规则效验没找到可以去数据库查询的
理解了一半了;所有文本字段都有一个默认值,默认值有一种方式要查询他表字段。然后你增加一个文本字段作为重复的校验字段,这个字段的默认值就是通过查询表的方式获取到你填写的这表中文本字段的值。如果能获取到,就说明这个字段在你现在表中有记录。这时你的表中是不是有两个字段是一样的值,然后通过表的规则设置成当这两个字段的值的相同的时候,你就提示错误,错误内容就可以自定义。
如果用于公开 可以把类型的名称 定为
分开填写的地址
素心以航 2023-08-03 15:34:27一个是字段重复的提示,一个是规则的错误提示;通过规则可以自定义提示内容;要把下面重复提示转为上面的自定义提示,你只需要校验的字段规则通过查询表的默认字段方式查询出来填写到提交的表中,然后再在表中做规则校验即可。无非就是多几个字段,多条表单规则而已。
大佬,我没理解哈,我描述一下我的领悟
————————————————
1,我这个名称不允许重复是怎么来的
2,首先设定字段的属性为不允许重复
3,当用户提交记录的时候,自动会在数据库搜索所有此字段的值有没有重复,有重复,提示就出现了
——————————————————————
所以大佬您说的通过查询表的默认字段,我没理解,我看规则效验没找到可以去数据库查询的
全耘伸 2023-08-03 14:55:12我的这个解法是很完美,解决前端提交效验问题,但是就是用户体验很差
因为不能按照我想的错误提示来写
比如刚才汪大佬那样的,因为超出预算就给一个错误提示
我现在的提示很大概率是这样
一个是字段重复的提示,一个是规则的错误提示;通过规则可以自定义提示内容;要把下面重复提示转为上面的自定义提示,你只需要校验的字段规则通过查询表的默认字段方式查询出来填写到提交的表中,然后再在表中做规则校验即可。无非就是多几个字段,多条表单规则而已。
wangsw 2023-08-03 14:54:57还有一种方式,只需要用辅助表单,不用汇总字段。
前端填写时,通过关联字段调取辅助表单中相关联的最新的一条数据(当前有多少)来做填写校验。
提交后,辅助表单中新增一条最新记录(原本有多少,本次减多少,剩余多少)
大佬您这个还是一样,无法做到实时,很有可能你写单据的时间内,又新增了数据
我的这个解法是很完美,解决前端提交效验问题,但是就是用户体验很差
因为不能按照我想的错误提示来写
比如刚才汪大佬那样的,因为超出预算就给一个错误提示
我现在的提示很大概率是这样
还有一种方式,只需要用辅助表单,不用汇总字段。
前端填写时,通过关联字段调取辅助表单中相关联的最新的一条数据(当前有多少)来做填写校验。
提交后,辅助表单中新增一条最新记录(原本有多少,本次减多少,剩余多少)
素心以航 2023-08-03 12:41:50你就目前说的场景,至少我可以立即可给你两个解决的方案
- 门票和为单独一张表,具有可用与不可用状态,在购票的表单关联门票表(可以设置为隐藏),通过默认是查询表字段取值,查询有无可用门票的记录,如果是可以查询到记录就校验通过。当然你还要加上汇总来计算数量,如果需要购多张票。
2、在基础数据这类里面增加一条门票数据统计的记录,用于统计最后一次购票剩余的票的数量。同样的方法在购票的表单中给一个数值字段,通过查询表的默认值获取门票统计记录中门票的实时数量。进行校验。
这两种方法目前只能解决用户当前购票时的校验,如果出现大并发或票量少被其实先买走的情况,还是要通过工作校验。毕竟购票操作是需要花时间的。
谢谢大佬,您这个和我现在的差不多,还缺少了一步,就是提交校验,
我可以做到提交的时候再次校验数据;让用户无法成功提交数据;必须再次提交
————————————————————
我现在逻辑是
1,设定某个辅助字段为唯一值,唯一值的某个元素是汇总记录数;这样假设出现购买过程中,统计数发生改变也会让记录无法提交成功,因为字段是唯一值,不允许重复
2,
全耘伸 2023-08-03 09:53:34作用就是前端做逻辑校验,比如门票数量只有 50 张,抢完就没货了,
你提交购买订单,不用等到提交以后给你发通知,直接前端就告诉你没货了
你就目前说的场景,至少我可以立即可给你两个解决的方案
全耘伸 2023-08-03 11:51:25
关于达到一定数量时无法自动汇总的问题,也可以借助辅助表单不断的去嵌套
wangsw 2023-08-03 11:20:39社区里说“汇总”在 1000 条数据以内会自动汇总的,数据实时更新。超过 1000 条就不会自动了。
我这个应用单个“汇总”字段涉及数据量都很小的,因此也没出现过不会自动汇总的情况。
全耘伸 2023-08-03 11:12:52大佬,这样大概支持多少条记录汇总嘞
社区里说“汇总”在 1000 条数据以内会自动汇总的,数据实时更新。超过 1000 条就不会自动了。
我这个应用单个“汇总”字段涉及数据量都很小的,因此也没出现过不会自动汇总的情况。
wangsw 2023-08-03 11:02:01我用了我个辅助工作表:
- 明细表,用于记录预算申请,预算使用的明细;
- 预算名称表,使用汇总功能,来统计明细表的数据,预算总额,已使用总额,剩余总额
大佬,这样大概支持多少条记录汇总嘞
我用了我个辅助工作表:
wangsw 2023-08-03 10:54:44
大佬咋弄的 😄
wangsw 2023-08-03 10:50:14我做过类似的,用于在提交支出申请时,管理校验预算是否够用、是否超标,不用等到提交以后再判断
我做过类似的,用于在提交支出申请时,管理校验预算是否够用、是否超标,不用等到提交以后再判断
素心以航 2023-08-02 19:02:25描述不够详细,想实时获取他表的记录数量,如果不是动态条件还可以;如果是动态条件,查询字段可以获取,但又给不了你记录的数量;通过查询记录,肯定也是行不通;最好把场景跟实现目标讲清楚些,或许可以有别的途径实现你的目标,不至于非走这条路!
作用就是前端做逻辑校验,比如门票数量只有 50 张,抢完就没货了,
你提交购买订单,不用等到提交以后给你发通知,直接前端就告诉你没货了
描述不够详细,想实时获取他表的记录数量,如果不是动态条件还可以;如果是动态条件,查询字段可以获取,但又给不了你记录的数量;通过查询记录,肯定也是行不通;最好把场景跟实现目标讲清楚些,或许可以有别的途径实现你的目标,不至于非走这条路!