Validator.js return 对随机 Gmail 地址无效
Validator.js return invalid on random gmail addresses
我正在创建一个 mern 应用程序并使用 validator.js 进行一些基本的电子邮件格式验证。
一切正常,但一些随机的 gmail 地址作为无效电子邮件返回
示例:test@gmail.com returns 无效,而 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
},
有没有人经历过类似的事情?
我建议你使用 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>
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
希望得到澄清。
我正在创建一个 mern 应用程序并使用 validator.js 进行一些基本的电子邮件格式验证。
一切正常,但一些随机的 gmail 地址作为无效电子邮件返回
示例:test@gmail.com returns 无效,而 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
},
有没有人经历过类似的事情?
我建议你使用 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>
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
希望得到澄清。