自定义用户内置的模型验证



我正在寻找一种自定义内置用户模型验证的方法。

目标是允许用户使用相同的电子邮件但不同的用户名注册帐户。

我试图覆盖用户模型的设置方法,以防止验证电子邮件属性的唯一性,但不幸的是,这是不可行的。至于钩子,我找不到能满足我需要的。

作为参考,验证发生在"loopback/common/models/user.js:556":中

  if (!(UserModel.settings.realmRequired || UserModel.settings.realmDelimiter)) {
    UserModel.validatesUniquenessOf('email', {message: 'Email already exists'});
    UserModel.validatesUniquenessOf('username', {message: 'User already exists'});
  }

有什么方法可以用来禁用此电子邮件验证吗?

提前谢谢。

免责声明:我是LoopBack团队成员

目前,不可能允许非唯一用户电子邮件。原因之一是User.login同时支持emailusername,即您可以通过输入电子邮件和密码登录。

原则上,LoopBack可以更改以支持您的用例,请打开GitHub问题来讨论可能的实现。

最新更新