【FORGUNCY-14774】【10.0.102.0】【调用服务端命令时,数据校验仅针对当前服务端...
本帖最后由 Brian.Zhang 于 2024-11-7 13:44 编辑目前对于页面单元格的数据校验,可以在调用服务端命令时,通过高级设置中的“请求前数据校验”进行开启和关闭。
但是,该选项控制的是页面上全部单元格的数据校验,要么是全部开启,要么是全部关闭,这个颗粒度太粗了。
建议把校验范围控制在被调用的服务端命令参数,这样也和这个选项的位置所应当控制的范围更一致。
了解了,可以补充一个场景吗,让我对您的痛点理解更深一些,感谢 本帖最后由 神经蛙 于 2024-11-5 13:09 编辑
Brian.Zhang 发表于 2024-11-1 22:36
了解了,可以补充一个场景吗,让我对您的痛点理解更深一些,感谢
在请假页面,我对很多单元格设置了非空验证,这是最终在提交整个页面时需要的验证(比如【请假类型】、【请假事由】、【请假天数】等)。
但是在页面填写过程中,我可能需要调用服务端命令来获取一些信息。
比如当实际请假人变更的时候:
1. 需要调用服务端命令去获取请假人的联系方式,填入相应的单元格中。
【获取联系方式】的服务端命令需要的参数只是【请假人ID】,如果开启【请求前数据校验】,调用时会提示我【请假类型】、【请假事由】、【请假天数】等不能为空。
2. 需要调用服务端命令获取请假类型选择框的数据源,因为请假人性别不同时,能够请的假是不同的。
【获取请假类型数据源】的服务端命令需要的参数也只是【请假人ID】,如果开启【请求前数据校验】,调用时会提示我【请假类型】、【请假事由】、【请假天数】等不能为空。
又比如当请假类型变更的时候:
1.需要调用服务端命令获取相应的假期要求(应休天数等)。
【获取假期要求】的服务端命令需要的参数只是【请假类型ID】,如果开启【请求前数据校验】,调用时会提示我【请假事由】、【请假天数】等不能为空。
2. 需要调用服务端命令已休天数。
【获取已休天数】的服务端命令需要的参数是【请假类型ID】和【请假人ID】,如果开启【请求前数据校验】,调用时会提示我【请假事由】、【请假天数】等不能为空。
这些暂时为空的参数跟我当时调用的服务端命令完全没有关系,他们是空的完全不影响我当前进行的操作,也不应当影响我当前进行的操作,因为我不可能把所有要求非空的全部放在最前面来填写,有些无法提前填写(比如把请假类型放在前面,一旦后面的请假人变化了,提前填写好的请假类型可能就是非法的,比如男的不应该休产假),而是要根据业务场景来进行页面布局。
但是如果关闭【请求前数据校验】,又失去了在前端对使用中的参数进行非空校验的功能,要么是在服务端进行验证,这样会增加很多无效的服务器请求;要么是自己在调用服务端命令之前写条件进行有针对性的非空判断,这样完全手动写校验命令的话,数据校验功能也就形同虚设了。
而且,因为每个服务端命令的调用都存在一个【请求前数据校验】的开关设置,而他们的控制范围都是全局(全页面)的,导致我只能给最后真正提交数据的服务端命令开启【请求前数据校验】,其他所有的服务端命令调用时因为都不能保证页面信息已经完整,只能全部关闭【请求前数据校验】。
合理的做法是,仅对被调用的服务端命令参数涉及的单元格进行数据校验,这样可以精确控制数据校验范围,其他不涉及的单元格不做校验,这样这个功能才是真正可用的,否则稍微复杂一点的页面就只能全部关闭【请求前数据校验】,自己写校验条件。
先赞一个,您把问题讲的非常清楚明白:hjyzw:
针对像您这样类似场景的问题,已经有在做相关功能的设计了,大体做法可能会是会提供一个数据校验的命令,开发者自己决定什么情况下调用,调用时可以自己选全页面或者是页面的某一个单元格区域,具体以发布时为准哈。
需求已采纳,请期待! Brian.Zhang 发表于 2024-11-7 13:43
先赞一个,您把问题讲的非常清楚明白
针对像您这样类似场景的问题,已经有在做相关功能的设计了 ...
:handshake 神经蛙 发表于 2024-11-7 14:15
{:5_110:}
页:
[1]