首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用express-validator验证密码

使用express-validator验证密码
EN

Stack Overflow用户
提问于 2012-09-23 07:55:02
回答 5查看 11.6K关注 0票数 11

我使用express 3.x的express-validator --当用户更改密码或注册新帐户时,他们必须输入两次密码。

如果两个密码(两个字符串)不匹配,我如何编写一个自定义验证器,将错误推送到express-validator中的错误堆栈?

如下所示:

代码语言:javascript
复制
req.assert('password1', 'Passwords do not match').isIdentical(password1, password2);
var mappedErrors = req.validationErrors(true);
EN

回答 5

Stack Overflow用户

发布于 2012-09-23 08:31:46

我找到了答案

代码语言:javascript
复制
req.assert('password2', 'Passwords do not match').equals(req.body.password1);
var mappedErrors = req.validationErrors(true);
票数 19
EN

Stack Overflow用户

发布于 2016-07-27 23:14:53

这个可以用!

代码语言:javascript
复制
req.checkBody('password2','Passwords do not match.').equals(req.body.password1);
var errors = req.validationErrors();

请注意本例中checkBody()的使用

票数 5
EN

Stack Overflow用户

发布于 2018-08-14 23:14:13

这就是我找到的答案

代码语言:javascript
复制
const { body } = require('express-validator/check');
app.post('/user', body('passwordConfirmation').custom((value, { req }) => {
if (value !== req.body.password) {
    throw new Error('Password confirmation does not match password');
    }
  }), (req, res) => {
// Handle the request
});`

检查此文档https://express-validator.github.io/docs/custom-validators-sanitizers.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12548624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档