JOI电子邮件验证

时间:2019-09-17 10:29:49

标签: hapijs joi

我使用Joi库作为我的CRA项目的独立验证器,但是在触发email()验证器时却收到了神秘错误

Uncaught Error: Built-in TLD list disabled

4 个答案:

答案 0 :(得分:12)

来自Joi documentation

默认情况下,TLD必须是IANA注册中心上列出的有效名称。要禁用验证,请将tlds设置为false。要自定义TLD的验证方式,请设置以下其中一项:

允许-其中之一:

  • true 使用IANA已注册TLD列表。这是默认值 值。
  • ,以允许任何未在拒绝列表中列出的TLD(如果存在)。
  • 允许的TLD的集合或数组。不能一起使用
    否认。

要针对IANA接受的列表禁用TLD验证:

{{1}}

这应该禁用验证,并允许您接受任何未经IANA注册的TLD。

答案 1 :(得分:3)

从16.0.0版本开始,joi附带了用于客户端开发的预构建精简版本。

大概是为了节省空间,该浏览器的Joi版本不包含默认的TLD列表。

(请参见Joi存储库上的这些发行说明:https://github.com/hapijs/joi/issues/2037

答案 2 :(得分:0)

如果您使用的是joi 16.1.1,则此版本中有一些更新,您可以在docs上找到更多更新。我认为这对您有帮助

CREATE OR REPLACE PROCEDURE proc_copy_records_and_then_delete
IS
  v_row_count number;
BEGIN
  insert into AUDIT_USER.AUDIT_HISTORY_TABLE 
   select * from SYS.AUD$; 
  v_row_count := SQL%ROWCOUNT ;
  IF v_row_count > 0 THEN -- check if some rows where inserted
    INSERT INTO LOG_TABLE (TEXT) VALUES (v_row_count); 
    COMMIT;
    execute immediate 'truncate table SYS.AUD$';

  end if;
end;
/

答案 3 :(得分:0)

在 v16.0.0 的文档中:“浏览器版本不包括 TLD 电子邮件验证” 所以,我想你必须在浏览器上将它设置为 false