AspNet标识RequireUniqueEmail = false在CreateAsync上抛出异常

时间:2017-09-28 21:28:35

标签: asp.net-identity unique owin

我使用document初始化UserValidator UserManager,验证程序确实接受重复的电子邮件(尝试继承它并覆盖RequireUniqueEmail=false方法)。 但是,当我尝试使用ValidateAsync()表中已存在的唯一UserNameEmail创建另一个用户时,AspNetUsers会抛出

  

一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。

只有一个验证错误:

  

已发送电子邮件myemail@email.com。

我在CreateAsync()UserValidator之前检查了CreateAsync的属性,因此它已正确初始化。 有趣的是,当我将RequireUniqueEmail=false设置为RequireUniqueEmail时,它不会抛出异常,只返回true并在其中显示相同的错误消息。

使用

IdentityResult(与v.3.0.1相同)

1 个答案:

答案 0 :(得分:1)

经过长时间的深入研究和调试后,我发现您的RequireUniqueEmail不仅有UserValidator个标记,而且IdentityDbContext<ApplicationUser>中还有相同的标记,而且两者都应该具有相同的值。