【问题标题】:How to validate email in mongoose如何在猫鼬中验证电子邮件
【发布时间】:2016-03-27 17:31:50
【问题描述】:

我是 Mongoose 的新手...我在下面有一个代码 sn-p。如果我想在保存之前检查电子邮件中 ​​@ 符号后面的内容,我将如何进行验证?

var user = new User ({
     firstName: String,
     lastName: String,
     email: String,
     regDate: [Date]
});

user.save(function (err) {
  if (err) return handleError(err);
})

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    您可以使用正则表达式。看看这个问题:Validate email address in JS?

    你可以试试这个

    user.path('email').validate(function (email) {
       var emailRegex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
       return emailRegex.test(email.text); // Assuming email has a text attribute
    }, 'The e-mail field cannot be empty.')
    

    来源:Mongoose - validate email syntax

    【讨论】:

    • 我不确定我是否理解这一点。我需要一个 if 语句吗?因此,如果电子邮件以“@google.com”结尾,例如,它将保存为管理员,如果电子邮件只是有效的“something@something.com”,它将保存为用户
    • 在这种情况下,在验证中 1. 验证电子邮件有效后 2. 分支一个 if-else,一个用于检查管理员邮件结尾,另一个用于插入平均 joe。 :)
    • 如果上面的代码不起作用,请尝试删除 email 参数的 .text,所以它变成这样: ____ user.path('email').validate(function (email) { var emailRegex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; return emailRegex.test(email.text); //假设电子邮件具有文本属性 },“电子邮件字段不能为空。”)____
    【解决方案2】:

    您可以向架构添加验证:http://mongoosejs.com/docs/validation.html

    【讨论】:

      猜你喜欢
      • 2019-10-06
      • 1970-01-01
      • 2018-09-16
      • 2011-08-16
      • 2011-04-09
      • 2016-07-15
      • 2015-06-09
      • 2017-12-08
      • 2021-11-21
      相关资源
      最近更新 更多