【问题标题】:Validator.js return invalid on random gmail addressesValidator.js 在随机 gmail 地址上返回无效
【发布时间】:2018-06-06 03:38:52
【问题描述】:

我正在创建一个 mern 应用程序并使用 validator.js 进行一些基本的电子邮件格式验证。

一切正常,但是一些随机的 gmail 地址作为无效电子邮件返回

示例:test@gmail.com 返回无效,而 testtest@gmail.com 注册完全正常。

我也尝试过 1@1.com 以确保它不会太长

这是我的验证

// Check to make sure email is formatted correctly
    if (!Validator.isEmail(data.email)) {
        errors.email = 'Invalid Email'
    }

这是我的猫鼬模型

email: {
    type: String,
    trim: true,
    lowercase: true,
    required: true,
    unique: true
},

有没有人经历过类似的事情?

【问题讨论】:

    标签: node.js validation mongoose mern


    【解决方案1】:

    validator.js 模块对域“gmail.com”和“googlemail.com”实施了特殊验证。根据 gmail,用户名的最小长度应为 6,允许的最大长度为 30。相同的验证包含在 Validator.js 模块中。

    这就是原因,如果 gmail 的用户名长度小于 '6',它会失败,如果你使用 gmail 以外的域,它不会失败。还有一件事,最小长度不包括点。

    所以,

    1. test1@gmail.com --> fails.
    2. test12@gmail.com --> success
    3. test.1@gmail.com  --> fails
    4. test.12@gmail.com -- success
    5. ab@mydomain.com --> success
    

    希望这一点得到澄清。

    【讨论】:

      【解决方案2】:

      我建议你使用 RegularValidationExpressionValidator

      <asp:RegularExpressionValidator ID="RegularExpressionValidator_Email" runat="server" ClientIDMode="AutoID" ControlToValidate="TB_Email" ErrorMessage="*Email is invalid" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
      

      对于使用 JS 函数的 CustomValidaor,你可以使用这个函数:

      function ValidateEmail(source, args)
      {
          if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(args.Value)))
          { args.IsValid = false; }
      } 
      

      这是前面代码中的CustomValidaor:

      <asp:CustomValidator runat="server" ControlToValidate="TextBox_Email" ClientValidationFunction="ValidateEmail"></asp:CustomValidaor>
      

      【讨论】:

      • 我在我的服务器上使用 javascript 而不是 ASP 我已经制作了自己的正则表达式来测试它是否有效,但我想知道是否有人对 validator.js 有疑问。感谢您的意见
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2013-04-25
      • 2017-09-21
      相关资源
      最近更新 更多