用户正在应用程序中上载excel工作簿。作为业务逻辑的一部分,我们需要执行数据验证(强制字段、数据类型、长度、枚举等)。一个Excel表中有100多个列,需要对记录的所有列执行数据验证。每一栏大约有10种验证。前端是在React中开发的,业务层是一个java。
存储验证规则的最佳方法在哪里?
选项1:我们是否可以将验证规则存储在数据库中,然后用java编写一些通用框架,以便从数据库读取规则并进行价值评估?
选项2:我们能否将excel转换为json,然后根据json模式验证它?
还需要密切注意性能的影响。
还有其他更好的选择吗?
发布于 2022-04-08 05:00:15
您不应该在浏览器中验证它,因为浏览器执行可能被黑。但是你可以提供一个模板-下载。模板下载将是一个受部分保护的excel文件。在这里,您可以预定义一些规则(只读区域、基本验证、处理说明和限制)。
您应该主要在服务器上验证它(单责任原则)。最好的方法来验证它是同时上传。如果当前上载excel文件的验证失败,则必须拒绝包含有意义的消息的上载。Excel-未经验证的文件不应存储在数据库中(因为这将违反数据完整性原则)。注意:如果需要将未验证的excel-文件存储为“草案”,以便稍后验证/完成它,则应该创建第二个数据库,将其与主数据库分离,以存储这些“草案”信息。
在任何情况下,excel-文件不应该作为二进制流作为主数据库的一部分!中的信息excel-文件必须存储在主数据库中,而不是excel-文件本身的中。
https://stackoverflow.com/questions/71767086
复制相似问题