gpt4 book ai didi

javascript - 如何纠正node.js验证器中没有方法 'onValidationError'的错误?

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:36 25 4
gpt4 key购买 nike

我有注册表并将值发布到注册函数,它将使用 node-validator 验证表单值.

但是,当我尝试使用 Node 验证器时,它不断出现错误,如下所示类型错误:对象#没有方法“onValidationError”。验证器已安装在我的应用程序中。

app.js

app.post('/register', test.register);

test.js

var check = require('validator').check,
sanitize = require('validator').sanitize;


exports.register = function(req, res){

var errors = [];
req.onValidationError(function(msg) {
//res.render('signup', { error: msg });
errors.push(msg);
});
req.check(req.body.email, 'Please enter a valid email').len(6,64).isEmail();
req.check(req.body.username, "Username can't be empty!").isNull();

if (errors.length)
return res.render(
'register', { regErr: errors.join('\n') }
);
}

如何纠正这个错误?

最佳答案

您正在使用node-validator。您应该使用 express-validator 来处理 onValidationError

来自node-validator页面你可以看到它:

If you are using the express.js framework you can use the express-validator middleware to seamlessly integrate node-validator.

Example http://localhost:8080/?zip=12345&foo=1&textarea=large_string

get('/', function (req, res) {
req.onValidationError(function (msg) {
//Redirect the user with error 'msg'
});

附加说明:app.use 的顺序也很重要。尝试将 app.use(expressValidator); 移至 app.use(app.router); 之上。可以在https://github.com/justin-john/node-user-management/blob/master/app.js#L17-L18中查看app.use的顺序.

关于javascript - 如何纠正node.js验证器中没有方法 'onValidationError'的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061210/

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