使用 JOI 库验证电子邮件

Validate email with JOI Library

我已经使用 JOI 来验证许多不同的东西。现在我还需要验证电子邮件。

验证逻辑如下所示:

const emailSchema = Joi.string().email({ minDomainSegments: 2 }).lowercase().required();

const resource = Joi.validate(email, emailSchema);
if (resource.error !== null) {

  return true;
}

问题是它无法验证以下格式:

const email = 6AEFE056-485C-42C0-9059-AF4D614C8FBE@anon

它认为这是一封普通的电子邮件,但事实并非如此。 它确实适用于普通电子邮件。

我做错了什么?我真的很想为此使用 JOI。

我用过的Joi版本是14.3.1

巧合的是,这是 NPM 上的最后一个版本。 Joi 移至 Hapi 在与 Hapi 合作的同时,他们发布了几个新版本。我使用版本的方式是为较新的版本设计的,但不是我的。因此,我使用旧版本的符号。

有时间我也会换新版本的

这是适用于旧版本的示例。

const emailSchema = Joi.string().email({ minDomainAtoms: 2 });