我使用document
初始化UserValidator
UserManager
,验证程序确实接受重复的电子邮件(尝试继承它并覆盖RequireUniqueEmail=false
方法)。
但是,当我尝试使用ValidateAsync()
表中已存在的唯一UserName
但Email
创建另一个用户时,AspNetUsers
会抛出
一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
只有一个验证错误:
已发送电子邮件myemail@email.com。
我在CreateAsync()
和UserValidator
之前检查了CreateAsync
的属性,因此它已正确初始化。
有趣的是,当我将RequireUniqueEmail=false
设置为RequireUniqueEmail
时,它不会抛出异常,只返回true
并在其中显示相同的错误消息。
IdentityResult
(与v.3.0.1相同)
答案 0 :(得分:1)
经过长时间的深入研究和调试后,我发现您的RequireUniqueEmail
不仅有UserValidator
个标记,而且IdentityDbContext<ApplicationUser>
中还有相同的标记,而且两者都应该具有相同的值。