首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Validator.js在随机gmail地址上返回无效

问Validator.js在随机gmail地址上返回无效
EN

Stack Overflow用户
提问于 2018-06-06 03:38:52
回答 2查看 210关注 0票数 0

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

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

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

我还尝试了1@1.com来确保它不是长度的东西。

这是我的验证

代码语言:javascript
复制
// Check to make sure email is formatted correctly
    if (!Validator.isEmail(data.email)) {
        errors.email = 'Invalid Email'
    }

这是我的猫鼬模型

代码语言:javascript
复制
email: {
    type: String,
    trim: true,
    lowercase: true,
    required: true,
    unique: true
},

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-06 04:24:15

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

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

所以,

代码语言:javascript
复制
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

希望这一点得到澄清。

票数 1
EN

Stack Overflow用户

发布于 2018-06-06 03:46:16

我建议你使用RegularValidationExpressionValidator

代码语言:javascript
复制
<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,可以使用以下函数:

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

这是前面代码中的CustomValidaor:

代码语言:javascript
复制
<asp:CustomValidator runat="server" ControlToValidate="TextBox_Email" ClientValidationFunction="ValidateEmail"></asp:CustomValidaor>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50711920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档