我正在寻找一种自定义内置用户模型验证的方法。
目标是允许用户使用相同的电子邮件但不同的用户名注册帐户。
我试图覆盖用户模型的设置方法,以防止验证电子邮件属性的唯一性,但不幸的是,这是不可行的。至于钩子,我找不到能满足我需要的。
作为参考,验证发生在"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
同时支持email
和username
,即您可以通过输入电子邮件和密码登录。
原则上,LoopBack可以更改以支持您的用例,请打开GitHub问题来讨论可能的实现。