Joi.string().email() 给出错误:React 中禁用内置 TLD 列表

问题描述 投票:0回答:2

我在reactjs中使用joi(版本:“17.7.0”)进行电子邮件验证。但是我收到以下错误:

 Error: Built-in TLD list disabled
。因此,我无法验证域名。 例如:当我在 nodejs 中使用 joi 时,它正确地将
[email protected]
验证为 false,但在禁用 TLD 列表的 rectjs 中,将其验证为 true。

我发现这个问题在 git 中提出https://github.com/hapijs/joi/issues/2390但是我在那里找不到解决方案。

我如何在reactjs中解决这个问题

 Error: Built-in TLD list disabled
或者有没有其他方法可以在react中验证电子邮件域名?

reactjs email-validation joi
2个回答
2
投票

您可以将

.email()
替换为
.email({ tlds: { allow: false } })
如下图所示来解决该错误。

{
    email: Joi.string().email({ tlds: { allow: false } }).required(),
}

0
投票

上述答案对我不起作用。以下工作按照 JuroOravec

的说明进行
Joi.string().email({ tlds: false });
© www.soinside.com 2019 - 2024. All rights reserved.