表单列表后台校验(涉及数组分组求和,BigDecimal基本操作等)

博客讨论了将表单数据的后台校验,特别是针对数组分组求和和BigDecimal的使用。作者意识到不应在前端进行限制条件的校验,而是选择在数据库中实现,以方便后续修改。文中介绍了如何使用Map对相同日期的数据求和,以及BigDecimal的基本运算,如加减比较。此外,还提到了React应用中异步Promise对象处理的问题,强调了等待异步数据加载完成的重要性。
摘要由CSDN通过智能技术生成

思路

首先讲讲编程思路的一个问题,导致走了一天的弯路,业务是要把提交表单的多条数据求和取上限,因为之前react写多了,顺手就在前端代码发请求写校验了,但,一是要把限制条件写在前台代码里,二是即使现从后台取上限,我也要在系统中用到此功能的地方都写校验,虽然是复制粘贴,但改的时候也不好改,可能有遗漏,所以后来还是写到数据库中以便于以后的修改,不用每次发版。

新的知识

首先吧,我的多条表单数据格式是`[
{name:xxx,date:xxx,remark:xxx}{name:xxx,date:xxx,remark:xxx}]
日期有相同的,也有不同的,我要根据日期相同的去求另一个字段的和;
用map集合对list进行接收,key为日期,因为map.put如果key存在则覆盖,不存在则更新,利用这一特性可以对相同日期迭代求和覆盖,更新增加,(网上还有一个collector的相关方法,java8的特性但是BigDecimal类型要自定义扩展源码,没有搞成功就放弃了)

Map<String, BigDecimal> group = new HashMap<String, BigDecimal>();  
    	  Date estDate1 = new Date();  
    	  BigDecimal hourTotal = new BigDecimal(0.0); 
    	  
    	  for(PmEstimate pmEstimatest1 : list){  
    		  estDate1 = pmEstimatest1.ge
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值