猫鼬验证-允许为空字符串或null-错误

时间:2018-08-14 14:21:48

标签: validation mongoose

我试图将email字段传递为可选字段,但是我想同时对其进行验证。 当前,它可以正常工作,但是当我开始在表单上键入email并清除其值时,该字段变为空字符串,然后发生错误。

因此,是否有更好的解决方案可以将其作为null''valid的电子邮件? -请注意,只有有效的电子邮件为unique

    var validateEmail = function(email) {
      var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
      return re.test(email)
    }

    var userSchema = new mongoose.Schema({
        email: { 
            type: String,
            required: false,
            trim: true,
            lowercase: true,
            index:true,
            unique: true,
            sparse: true,
            validate: [validateEmail, 'Please fill a valid email address']
        },
        hash:{type: String},
        salt:{type: String},
        username: String,

    }, {
        collection: 'users'
    })

提前谢谢。

0 个答案:

没有答案