以下是一些方法:
1. 在将数据传递到DB之前验证数据 2. 将验证留给DB并正确处理DB异常 3. 在两端进行验证 4. 在业务逻辑中验证一些明显的约束,并将复杂的验证留给DB
您使用哪种方法?为什么?
更新:
我很高兴看到越来越多的讨论。 让我们尝试总结社区答案。
建议:
- 双重验证
- 在客户端检查业务逻辑约束条件,让数据库执行完整性检查 来自hamishmcn
- 尽早检查以避免打扰数据库 来自ajmastrean
- 尽早检查以提高用户体验 来自Will
- 保留与数据库交互的代码以简化开发 来自hamishmcn
- 对象关系映射(NHibernate、Linq等)可帮助您处理约束条件 来自ajmastrean
- 出于安全原因,客户端验证是必要的 来自Seb Nilsson
你还有什么要说的吗?这转化为特定于验证的问题。我们缺少核心内容,即“与数据库相关的错误最佳实践”,哪些需要处理,哪些需要冒泡?