如何解决Mongoose 密码验证在消息中显示密码
我有一个 mongoose 用户架构,我在其中定义了密码,使其长度必须在 6 到 12 个字符之间,就像这样
const userSchema = new mongoose.Schema({
...
password: {
type: String,required: ['true','Password must be of length between 6 and 12 characters'],minLength: 6,maxLength: 12
},...
})
在用户注册控制器中,我在像这样创建用户之前检查是否有错误
await User.findOne({ email },async (err1,foundUser) => {
if (err1) {
console.log(err1);
next(err1);
} else if (foundUser) {
res.status(400);
next(new Error('User already exists'));
} else {
await User.create(req.body,(err2,newUser) => {
if (err2) {
console.log(err2.errors);
next(err2);
} else {
res.json({
_id: newUser._id,name: newUser.name,email: newUser.email,token: generateWebToken(newUser._id),});
}
});
}
错误由 errorHandler 中间件捕获,它返回一个 json 对象,其中 message
属性设置为 err.message
。
我遇到的问题是,在前端,当用户尝试使用不符合要求的密码进行注册时,输入的密码以纯文本形式显示在从后端验证收到的错误消息中。如何从后端(而不是前端)的消息中隐藏输入的密码?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。