我读过关于数据验证应该在哪里进行的相互矛盾的哲学,这让我更加困惑。有人说它应该只存在于数据库中。其他人说验证规则应该反映在其他层,如 bll 或 ui。
数据验证应该在哪里进行?规则应该分为多个层吗?关于何时何地验证运行在数据库之上的应用程序中的数据,有哪些实际的最佳实践(与理论相反,云里雾里的东西)。
数据验证应在两个位置进行:
话虽如此,错误的方法有很多,但没有正确的方法。验证取决于应用程序的架构、其中数据的性质以及数据的使用方式。
输入验证:理想情况下,数据验证应从数据输入点开始。这确保数据在进入系统后立即得到验证和干净,其主要目标是降低数据不正确或损坏的风险。
后端处理:系统接收到数据后,必须在后端处理或数据转换阶段进行进一步的验证。这包括根据预定义的规则、法规或限制审查数据。
数据检索期间:根据用例,数据验证也可以在数据检索或查询执行期间进行。这可确保收集或提供给用户的数据符合特定的质量标准。
集成点:与分布式系统或外部服务集成时,必须在集成点进行数据验证,以保证系统的一致性和兼容性
数据验证对于准确可靠的信息至关重要。要了解数据验证应在何处进行以及有效的技术,请查看这篇富有洞察力的文章: