我已经使用JOI来验证许多不同的东西。现在我也需要验证一封电子邮件。
验证逻辑如下:
const emailSchema = Joi.string().email({ minDomainSegments: 2 }).lowercase().required();
const resource = Joi.validate(email, emailSchema);
if (resource.error !== null) {
return true;
}
问题是它无法验证以下格式:
const电子邮件=6AEFE056-485C-42C0-9059-AF4D614C8FBE@anon
它认为这是一封普通的电子邮件,但事实并非如此。它确实适用于常规电子邮件。
我做错了什么?我真的很想使用JOI。
我使用的Joi版本是14.3.1
巧合的是,这是NPM的最后一个版本。Joi在Hapi手下在和哈皮在一起的同时,他们发布了几个新版本。我使用版本的方式是为新版本设计的,但不是我的。因此,我使用了旧版本的表示法。
当我有时间的时候,我也会切换到更新的版本。
这是适用于旧版本的示例。
const emailSchema = Joi.string().email({ minDomainAtoms: 2 });