自定义用户内置模型验证

时间:2014-11-04 16:45:19

标签: loopbackjs strongloop

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

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

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

作为参考,验证发生在'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'});
  }

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

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

目前,无法允许非唯一的用户电子邮件。其中一个原因是User.login同时支持emailusername,即您可以通过输入电子邮件和密码进行登录。

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