gpt4 book ai didi

node.js - 使用 mongoose 和 express 处理数据验证的最佳场所

转载 作者:IT老高 更新时间:2023-10-28 23:11:01 24 4
gpt4 key购买 nike

也许这里没有明确的答案,但我想知道在处理 express.js 和 mongoose 时在哪里处理数据验证。以下哪项是最佳做法(我目前使用组合,开始感觉很笨拙):

  1. 模型( Mongoose )
  2. Controller /路线( express )

我读过的一些较早的帖子是:

但相互矛盾的答案只会增加困惑。也许它只是不明确,在这种情况下是一个更好的选择?

最佳答案

使用 Mongoose 时,我会将大部分的验证逻辑推送到 Mongoose 模型/模式。您可以使用mongoose-validator这只是 node-validator 的包装器,用于简单的模型验证。如果您需要针对其他模型进行验证或更复杂的逻辑验证,您可以编写自己的自定义 mongoose 预验证或验证后 Hook (see mongoose middleware)。

您在使用 mongoose 验证模型时获得的另一个好处是,mongoose 为您的模型添加了一个错误属性,可以通过 model.errors[property] 访问该属性。此属性可用于验证 Web 上的错误消息或服务客户端。

当编写更多/非常复杂的软件时,将验证与模型联系起来可能会成为问题。但是当它出现时,我会处理这个问题。由于 JavaScript 具有作为一等公民的功能,即使在这些复杂情况下,您的验证功能仍然可以重用。

关于node.js - 使用 mongoose 和 express 处理数据验证的最佳场所,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20465414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com