获取 req.getValidationResult 不是带有快速验证器的函数
getting req.getValidationResult is not a function with expess validator
我使用 latest express-validator 并且我一直得到 req.getValidationResult is not a function
即使每个示例都有这种语法。
在我的路线中我有
const express = require('express');
const router = express.Router();
const signup = require('../lib/signup.js');
const {body, validationResult } = require('express-validator/check');
router.post('/submit',
[
body('username').not().isEmpty().withMessage('please enter username'),
body('password').not().isEmpty().withMessage('please enter password')
],
(req, res)=>{
req.getValidationResult().then( result => {
var errors = result.array();
console.log('errors', errors);
})
}
我的 app.js
中没有任何与 express-validator 相关的内容。在我的 package.json
中,依赖项中有 "express-validator": "*",
。
如果我这样做
let errors = validationResult(req);
if (!errors.isEmpty()) {
console.log('errors ', errors);
}
有效。
我不知道为什么我总是收到 req.getValidationResult is not a function
。我不知道发生了什么。请指教。谢谢
这里是 express-validator 维护者。
从 express-validator v4.0.0 开始,all methods accessible from the req
object are considered legacy 很快就会被弃用。
这意味着 req.checkBody
、req.validationResult
、req.sanitize
等任何方法都不应该用于新应用程序。
最好使用 express-validator 的任何其他 API(但遗留 API)的方法。
validationResult(req)
is the correct way to access the validation errors, and it returns the exact same object as req.getValidationResult()
,但以同步方式。
* 请注意,由于 express-validator 最近发生了很大变化,我建议反对 遵循 2017 年 8 月之前发布的教程。
我使用 latest express-validator 并且我一直得到 req.getValidationResult is not a function
即使每个示例都有这种语法。
在我的路线中我有
const express = require('express');
const router = express.Router();
const signup = require('../lib/signup.js');
const {body, validationResult } = require('express-validator/check');
router.post('/submit',
[
body('username').not().isEmpty().withMessage('please enter username'),
body('password').not().isEmpty().withMessage('please enter password')
],
(req, res)=>{
req.getValidationResult().then( result => {
var errors = result.array();
console.log('errors', errors);
})
}
我的 app.js
中没有任何与 express-validator 相关的内容。在我的 package.json
中,依赖项中有 "express-validator": "*",
。
如果我这样做
let errors = validationResult(req);
if (!errors.isEmpty()) {
console.log('errors ', errors);
}
有效。
我不知道为什么我总是收到 req.getValidationResult is not a function
。我不知道发生了什么。请指教。谢谢
这里是 express-validator 维护者。
从 express-validator v4.0.0 开始,all methods accessible from the req
object are considered legacy 很快就会被弃用。
这意味着 req.checkBody
、req.validationResult
、req.sanitize
等任何方法都不应该用于新应用程序。
最好使用 express-validator 的任何其他 API(但遗留 API)的方法。
validationResult(req)
is the correct way to access the validation errors, and it returns the exact same object as req.getValidationResult()
,但以同步方式。
* 请注意,由于 express-validator 最近发生了很大变化,我建议反对 遵循 2017 年 8 月之前发布的教程。