我为用户创建了一个架构并添加了验证
const userSchema = new Schema({
email:{type:String ,required : true, unique: true, lowercase: true ,validate : emailValidators},
password:{type:String ,required : true ,validate:validPassword}
});
验证密码功能
let validaEmailChecker =(email)=>{
if(!email){
return false;
}else{
const regExp = new
RegExp(/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
return regExp.test(email)
}
}
验证密码功能
let validPassword =(password)=>{
if(!password){
return false;
}
else{
const regExp = new RegExp( /^[a-zA-Z0-9!@#$%^&*]{5,10}$/);
return regExp.test(password)
}
}
要拨打用户功能
user.save((err) => {
// use save or nor
}
在第二个属性的架构中添加验证功能后,用户保存功能未调用 只有在使用电子邮件验证器时才能使用添加密码验证器添加它不起作用
答案 0 :(得分:0)
您已将emailValidators
设置为email
字段的验证功能,而您显示的功能名为validaEmailChecker
。更改其中一个以匹配另一个,就像使用password
字段一样。