问题标签 [express-validator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18320 浏览

node.js - Express-Validator 中的验证

我正在使用 express-validator 进行验证。我正在使用猫鼬作为数据库,它还内置了验证。我想知道我应该使用哪一个?

我还想知道 express-validator 中的验证是否是并行的。以这段代码为例:

isUnique() 是一种自定义验证方法,用于检查电子邮件是否尚未注册,它会查询数据库以进行验证。虽然在上面的代码中没有提到,但我也有一些其他的发布请求,我需要验证多个字段,其中每个字段都会进行数据库查询。

所以我想知道是否有可能并行运行上述每个检查方法,因为这会使其更快,并且我也会更喜欢节点。我显然想使用一个模块来像异步一样并行运行这些模块。我还想知道这些检查方法是否已经并行运行?

请帮我解决这个问题?提前致谢。

0 投票
1 回答
9359 浏览

javascript - Validating POST Params with Express-Validator

I'm trying to build parameter validation into my Node/Express API using express-validator. However, when I make a POST request with a missing field (name in this case) using the following curl command curl -X POST -d "foo=bar" http://localhost:3000/collections/test, the request still goes through successfully, skipping the validation. Below is my current code - any ideas as to why the validation is bypassed?

0 投票
1 回答
1397 浏览

node.js - 使用 TypeScript 的快速验证器

我试图将我的 NodeJS 与 ExpressJS 转换为 TypeScript。

我遇到了“express-validator”中间件的问题。

我用打字安装了定义:

我希望req: express.Request有 express-validator 的定义(即 req.checkQuery、req.checkParams 等等)。

但是编译后我得到了...

我是否必须导入一些东西才能使其工作?

谢谢你。

以下是我的代码..

0 投票
2 回答
1300 浏览

node.js - express-validator 打破验证者链

我正在使用 express-validator 插件进行快递

如果我将用户名作为空输出传递是

如果任何一个验证失败,如何制动链条。

0 投票
1 回答
2236 浏览

node.js - Express-validator .getValidationResult()

我正在为 Web 应用程序进行简单的登录,但似乎无法.getValidationResult()正确处理。我花了很多时间翻阅 express-validator 的 npm 文档,试图在教程中找到答案,并在 Stack Overflow 之类的网站上查找,但没有找到我的问题的答案。也许我只是不知道要问的正确问题。

我想确保

  1. 用户提交了电子邮件地址形式的内容,
  2. 密码不为空。然后我想
  3. 在稍后与数据库交互之前清理电子邮件,然后
  4. 检查前 3 个过程中是否有任何一个失败。如果失败,则将用户返回到登录页面。

我的问题是使用 express-validator 的正确方法是什么.getValidationResult()

这是有问题的代码:

我猜是一些简单的事情导致了我的错误,但我似乎找不到它是什么。

0 投票
1 回答
13218 浏览

javascript - express-validator v4检查功能中的访问请求体

我刚开始使用 express.js 和 express-validator 来验证一些输入数据,并且在 4.0.0 版中引入的新检查 API 中访问请求正文时遇到问题。

在旧版本中,您只需在 app.js 中的 body-parser 之后的某个位置添加 express-validator 作为中间件:

然后在我的索引路由中,我可以检查 post 方法的最终回调函数中的字段。

就像在这个例子中一样,我可以很容易地检查我的密码字段和我的表单的密码确认字段的值是否相等。但是,从版本 4 开始,它们有一个新的 API,它要求您直接在路由器文件中加载 express-validator,并在 post 方法的最终回调之前将检查函数作为函数数组传递,如下所示:

这不起作用,因为 req 没有​​定义。所以我的问题是:如何访问check()链中的请求对象以将两个不同的字段与新的 express-validator API 进行比较?首先十分感谢!

0 投票
1 回答
1548 浏览

express - 新的 express-validator 语法:验证 multer 处理的表单

所以,我正在构建一个小应用程序来学习如何使用 express.js。我有一个非常简单的表单,同时提交一个文本字段和一个文件。这是通过 FormData 提交的,所以我在后端使用 multer 来处理请求。我想做的是在对文件执行任何操作之前对表单的文本输入执行验证(即仅在验证成功时保存,如果不发送某种错误消息)。我曾经这样做过

后端:router.js

导入的Controller.js

但是,我注意到express validator似乎有一种新语法,因此我尝试遵循此语法并执行以下操作:

路由器.js

但是然后在我的importedController.js 中,验证在我定义的multer getFields() 函数之外不起作用(似乎合乎逻辑,因为尚未处理请求)。但是,如果我尝试将其包含在 multer 函数中:

导入的Controller.js

然后它总是返回一个错误,尽管字段输入是正确的。就好像对“未处理”请求执行了验证,其中 req.body 为空。虽然代码现在可以工作所以不着急,但为了以后的项目,我想遵循新的语法。非常感谢任何帮助!

编辑:感谢@gustavohenke 在下面的回答,我找到了一个解决方案

意识到这一点,我的问题与 multer 模块的工作方式有关,因为它似乎在处理表单数据之前上传文件(必须在验证之前)——至少 multer 模块似乎给了你无法控制何时上传文件,使您无法在实际保存之前调用另一个中间件。

所以我最终做的是在客户端使用 ajax 首先只发送表单数据(保存文件以供以后使用)到multer().any()与表单验证器逻辑链接的中间件。根据第一次调用服务器给出的响应,然后我将它与另一个 ajax 链接起来,最终将文件上传到另一个路由,这次使用 amulter(storage: myStorage).single('myFileInputName')来上传文件。

仔细想想,这个解决方案似乎比我一开始想的要好:它不仅避免了在表单输入错误的情况下保存文件,它甚至避免使用任何带宽来发送文件(可能相当沉重)如果输入不正确。

0 投票
2 回答
5303 浏览

javascript - 在 Node.Js 中的 express-validator 之前修剪输入值

我在 Node.js 项目中使用建议的 express-validator V4 语法:

请注意,我使用的是现代语法并且没有以下代码(根据 express-validator README.md 文件):

如何在运行验证之前从输入字段中修剪空格?

0 投票
3 回答
6866 浏览

node.js - 使用路由 V4 在 express-validator 上未定义检查

我一直在使用 expressjs 开发应用程序,但在使用 express-validator V4 时出现错误。错误是: TypeError: check is not a function

所以我的代码如下所示:

请注意,我使用的是纯 JavaScript,没有 ES6。谢谢。

0 投票
1 回答
1119 浏览

node.js - Cannot POST response at express-validator using formdata

I can't figure out why I'm getting this response from express-validator:

I'm receiving a formdata request on my server and I'm extracting the file image and the text fields as expected. Then I'm adding the fields extracted to the body of the request object. Then I call the express-validator function to validate the fields. Until this point everything works fine, if I send wrong data to the server, my validator replies with the fields that aren't correct, but if all the fields are correct I get the response mentioned before and I can't figure out why.

This is my validator function:

And this is the function where I call the validator after I have constructed the body of the request with the fields I had extracted from my formdata:

I also noticed that besides I get that response, my code keeps running and in the database the data is created as expected.