【发布时间】:2011-01-27 17:25:13
【问题描述】:
我读过关于应该在哪里进行数据验证的相互矛盾的哲学,这让我更加困惑。有人说它应该只在数据库中。其他人说验证规则应该反映在 bll 或 ui 等其他层中。
数据验证应该在哪里进行?规则应该跨多个层拆分吗?关于何时何地验证在数据库之上运行的应用程序中的数据,有哪些实际的最佳实践(与理论相反,头在云中类型的东西)。
【问题讨论】:
-
它肯定应该在后端 - 如果它可行并且对您的应用程序有帮助,那么也在前端进行验证。但永远不要仅仅依赖前端验证 - 在将任何数据插入数据库之前不要信任任何数据 - 始终在数据库级别验证(引用完整性、CHECK 约束等) - 没有例外。
标签: database validation n-tier-architecture