我正在尝试使用猫鼬模式验证我的数据。但是它不起作用,我也不知道为什么。
这是我的模式
var mongoose = require("mongoose");
var UserSchema = new mongoose.Schema({
username: { type: String, min: 3, max: 30, required: true },
password: { type: String, min: 6, required: true }
});
mongoose.model("User", UserSchema);
这是我发帖的地方
router.post('/signup', (req, res) => {
const user = new User({
username: "Marcel",
password: "12345"
})
user.save().then(function(){
res.json({
message: '✅'
})
}).catch(function(){
res.json({
message: '❌'
})
})
})
我给了密码至少6个字符,但是对于示例用户,我给了5个字符,所以它不起作用,但是可以。有人可以帮我吗?
答案 0 :(得分:1)
您已经使用了验证器 min 和 max ,它们是 Number 类型的。
尝试改用 minlength 和 maxlength ,它们是 String 类型的
var UserSchema = new mongoose.Schema({
username: { type: String, minlength: 3, maxlength: 30, required: true },
password: { type: String, minlength: 6, required: true }
});
我希望这会有所帮助。