验证在Mongo的节点中不能在mongoose中工作

时间:2018-03-20 06:26:51

标签: node.js express mongoose

我为用户创建了一个架构并添加了验证

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
}

在第二个属性的架构中添加验证功能后,用户保存功能未调用 只有在使用电子邮件验证器时才能使用添加密码验证器添加它不起作用

1 个答案:

答案 0 :(得分:0)

您已将emailValidators设置为email字段的验证功能,而您显示的功能名为validaEmailChecker。更改其中一个以匹配另一个,就像使用password字段一样。