ASP.NET Identity валидация пользователя

165
02 апреля 2018, 21:00

Создал класс для валидации пользователя.Метод ValidateAsync возвращает, что ошибок нет (Errors.Count() = 0), однако св-во Succeded также равен false.Как и при каких обстоятельствах он задается как true?

Код валидатора:

public class CustomUserValidator : UserValidator<ApplicationUser>
{
    public ApplicationUserManager UserManager;
    public CustomUserValidator(ApplicationUserManager userManager) : base(userManager)
    {
       this.UserManager = userManager;
    }
    public override async Task<IdentityResult> ValidateAsync(ApplicationUser user)
    {
        //var result = await base.ValidateAsync(user);
        var result = new IdentityResult();
        if (user.UserName != null && (await UserManager.FindByNameAsync(user.UserName) != null))
        {
            List<string> errors = result.Errors.ToList();
            errors.Add($"Адрес {user.UserName} уже используется.");
            result = new IdentityResult(errors);
        }
        return result;
    }
}

В ApplicationUserManager(реализация UserManager) в качестве валидатора задан экземпляр этого класса.

Answer 1

Оказывается надо самому возвращать Success в случае, если ошибок нет. Следующий код решает эту проблему.

     if (result.Errors.Count() == 0)
     return IdentityResult.Success;
     else return result;
READ ALSO
VS C# chart несколько несвязанных линии c типом SeriesChartType.Spline

VS C# chart несколько несвязанных линии c типом SeriesChartType.Spline

Имеется один chart на форме, нужно начертить на нём несколько линии c ChartType = spline, таким образом что бы конец одного сплайна не соединялся с началом...

187
Как объединить несколько окон в однои окне С# WPF

Как объединить несколько окон в однои окне С# WPF

У меня есть проект на WPF С#, а точнее заготовки для приложения такие как регистрация, авторизация и основной контент у виде файлов з форматомxaml

199