moer 发表于 2024-2-27 11:35:02

【9.0.103】讨论:数据检查规则,可以怎么做到灵活处理?

"policy": {       "x": "P",       "claixxmAdjustValue": "1",       "currxxxencyCode": "CNY",      "disxxcount":"0.80",      "endDate":"20250101",      "endxxHour":"24",      "enxxdorseNo":"",      "hxxmComCode":"comdl",       "hxxmPolicyNo": "565956665",      "hxxmRatio":"1.00",       "policxxType": "02",       "pricingxxAdjustValue": "0.35",      "ratioxx":"0.00",      "startxxDate":"20240102",      "startxxHour":"00",      "sumxxLimit":"300000.00",       "totalxxPremium": "300.00"    },第三方过来的数据,如上图上面不到20个字段,就是对每一个字段进行有效性,合法性检查。有些多个字段互用关联关系,检查规则总共有50个左右。把这50个检查规则都写在一个服务端命令,也不是不可以 。只是代码写得又长又臭。。。。
【我想到的解决办法】维护一个检查规则表,有下面这些字段:规则ID,    规则名称,   规则详细描述,规则入参1,规则入参2,    规则入场3,   服务端命令R01          ID必填         ID必填                ID                                                             命令_ID检查。。。。。。。R50      ratio检查         type等于2,ratio必填    type      ratio                               命令_ration检查
这样我就可以遍历这些规则,分别调用服务端命令去检查。规则检测不通过,我也可以比较友好的返回,哪些检查规则没有通过。
【碰到的问题】
没有办法指定“服务端命令名称”去执行“服务端命令”没有办法根据变量名称,获取变量值。前端javascript可以。服务端命令里面咋搞?

Simon.Sun 发表于 2024-2-27 11:35:03

您好,活字格 10.0 数据验证支持通过命令去验证了,也许能满足您这个场景:


活字格10.0新功能解密:八、复杂业务场景下的数据验证(命令-数据校验)
https://gcdn.grapecity.com.cn/showtopic-202818-1-1.html
(出处: 葡萄城开发者社区)

如果是根据配置表来动态调用服务端命令走校验逻辑的话,服务端命令的调用可以通过发送 HTTP 请求来做到根据服务端名称来做到动态调用,比如:

HTTP 请求调用服务端命令时,需要走 OAuth 认证。
然后根据属性名称动态从对象中获取对象的属性值,可以考虑使用下面插件:


对象与集合操作工具 - 葡萄城市场 (grapecity.com.cn)


页: [1]
查看完整版本: 【9.0.103】讨论:数据检查规则,可以怎么做到灵活处理?