Как вернуть все описания ошибок с Идентификацией в ASP. NET Core v3 - PullRequest
0 голосов
/ 20 апреля 2020

Я учусь делать логин / регистрироваться с Identity в asp. net ядре, и я пытаюсь добавить ошибки в регистр, и вот мой код

if (ModelState.IsValid)
{
    var user = new IdentityUser
                {
                    UserName = model.Username,
                    Email = model.Email,
                };

    var result = await _userManager.CreateAsync(user, model.Password);

    if (result.Succeeded)
    {
        var signInresult = await _signInManager.PasswordSignInAsync(model.Username, model.Password, false, false);

        if (signInresult.Succeeded)
        {
            return RedirectToAction("Index");
        }
    }
    else
    {
        List<IdentityError> errorList = result.Errors.ToList();
        string errors = "";

        foreach (var error in errorList) 
        {
            errors = errors + error.Description.ToString();
        }

        return Content(errors);
    }

    return Redirect("Index");
}

Проблема здесь заключается в ошибки в errorList возвращаются одна за другой, а не все, например, я получаю «имя пользователя взято» или «пароль должен содержать букву». Но не все из них одновременно. Как я могу решить это?

1 Ответ

1 голос
/ 21 апреля 2020

Проблема здесь в том, что ошибки в errorList возвращаются одна за другой, а не все, например,

Если я правильно понимаю, вы не хотите использовать foreach для получения ошибка одна за другой, вы можете получить все ошибки следующим образом

else
{
    List<IdentityError> errorList = result.Errors.ToList();
    var errors = string.Join(", ", errorList.Select(e=>e.Description));

    return Content(errors);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...