Asp.net mvc 5 ASP.NET MVC 5中的电子邮件为空或唯一

Asp.net mvc 5 ASP.NET MVC 5中的电子邮件为空或唯一,asp.net-mvc-5,asp.net-identity,Asp.net Mvc 5,Asp.net Identity,我正在构建一个ASP.NET MVC 5应用程序,我希望允许用户没有电子邮件地址集,或者,如果他们有一个电子邮件地址集,则确保它是唯一的。有没有什么简单的方法可以使用内置的身份提供程序来实现这一点,或者我需要自己的身份提供程序 我遇到的问题是,如果我在UserValidator中设置属性RequireUniqueEmail=true,那么我就不能输入空电子邮件。但如果我将其设置为false,则在添加电子邮件时不会执行唯一性检查 显然答案是否定的。没有内置的方法可以做到这一点。您希望客户端只验证服

我正在构建一个ASP.NET MVC 5应用程序,我希望允许用户没有电子邮件地址集,或者,如果他们有一个电子邮件地址集,则确保它是唯一的。有没有什么简单的方法可以使用内置的身份提供程序来实现这一点,或者我需要自己的身份提供程序


我遇到的问题是,如果我在UserValidator中设置属性RequireUniqueEmail=true,那么我就不能输入空电子邮件。但如果我将其设置为false,则在添加电子邮件时不会执行唯一性检查

显然答案是否定的。没有内置的方法可以做到这一点。

您希望客户端只验证服务器端吗?我想检查电子邮件地址在数据库中现有电子邮件地址中是否唯一,因此这将是服务器端检查OK,如果确实希望客户端验证检查其唯一性,则可以使用[Remote]属性。对于服务器端,我认为您只需要检查字符串长度是否大于0,如果大于0,则需要检查数据库查找唯一性和允许空值是否真的同时存在。如果两个用户没有电子邮件,是否会使电子邮件重复为空?创建用户时,您必须自己在控制器中构建验证。没有任何预先构建的身份框架可以为您实现这种逻辑。