Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 通过策略进行JS请求验证_Sails.js_Express Validator - Fatal编程技术网

Sails.js 通过策略进行JS请求验证

Sails.js 通过策略进行JS请求验证,sails.js,express-validator,Sails.js,Express Validator,我们正在开发sailsjs来构建一个API,它只提供JSON响应。我可以在策略中存储所有请求验证规则吗。这样我的主应用程序逻辑(控制器)看起来就干净了 优点:应用程序逻辑是干净的 缺点:最终会产生很多政策 有没有其他更好的方法来保持代码干净并单独维护验证规则 对于验证,我们可以使用库,如。不确定这是否是最好的方法,但您可以创建一个帮助器来执行验证。助手可以将每种类型的验证作为其输入,并为每种类型接受数组。因此,在控制器中,您可以像这样调用帮助器: var errorObject = sails.

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

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

缺点:最终会产生很多政策

有没有其他更好的方法来保持代码干净并单独维护验证规则


对于验证,我们可以使用库,如。

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

var errorObject = sails.helpers.validate.with({
    alphanumeric: [inputs.userName, inputs.displayName],
    isEmail: [inputs.userEmail],
    ...
    ...
})
然后,您的助手可以获取这些输入中的每一个,并在执行验证检查的数组中循环。如果发生验证错误,请返回错误对象的内容。如果不是,则返回一个空对象。通过这种方式,您可以在控制器中执行以下操作:

if(errorObject){throw errorObject}

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

策略是对用户进行身份验证