1

我们正在使用 Sails JS 构建一个 API,它只提供 JSON 响应。我可以将所有请求验证规则存储在策略中吗?这样我的主要应用程序逻辑(控制器)看起来很干净。

优点:应用程序逻辑是干净的。

缺点:最终会制定很多政策。

有没有其他更好的方法来保持代码清洁和分别维护验证规则?

对于验证,我们可以使用express-validator 之类的库。

4

1 回答 1

1

不确定这是否是最好的方法,但您可以创建一个帮助器来进行验证。助手可以将每种类型的验证作为其输入,并接受每个类型的数组。因此,在您的控制器中,您可以像这样调用助手:

var errorObject = sails.helpers.validate.with({
    alphanumeric: [inputs.userName, inputs.displayName],
    isEmail: [inputs.userEmail],
    ...
    ...
})

然后你的助手可以获取这些输入中的每一个并遍历数组进行验证检查。如果发生验证错误,则返回错误对象的内容。如果不是,则返回一个空对象。这样,在您的控制器中,您可以执行以下操作:

if(errorObject){throw errorObject}

不过,您仍然必须在每个控制器中包含您想要的所有出口。

于 2018-08-02T19:44:56.443 回答