TransWikia.com

Как сделать проверку на использование телефона в другой учетной записи?

Stack Overflow на русском Asked on November 27, 2021

Использую ASP.Net Identity, Asp.Net Core

Никак не могу понять, как при регистрации пользователя сразу проверить его номер телефона на использование в других учетных записях. Мне нужно, что бы не было повторных E-mail и номеров телефона.

С E-mail и UserName все работает, но отдельно проверить только телефон не получается.

Пробовал задать свойству UserName = model.PhoneNumber, но в таком случае войти в аккаунт я могу только с использованием номера телефона.
Попытки получить пользователя по Email или просто через GetUserAsync() и сравнить его номер с номером из формы также не получились 🙁

Собственно код получения и обработки данных с формы

[HttpPost]
public async Task<IActionResult> Register(RegisterViewModel model)
{
    User user = new User { Email = model.Email, UserName = model.Email, PhoneNumber = model.PhoneNumber };

    // добавляем пользователя
    var result = await _userManager.CreateAsync(user, model.Password);

    if (result.Succeeded)
    {
        await _signInManager.SignInAsync(user, false);
        return RedirectToAction("Lk", "Account");
    }
    else
    {
        foreach (var error in result.Errors)
        {
            ModelState.AddModelError(string.Empty, error.Description);
        }
    }

    return View(model);
}

One Answer

Большое спасибо, tym32167

Не знаю на сколько это оптимальный вариант, но проверку на уникальности номера телефона сделал следующим образом:

   User user = new User { Email = model.Email, UserName = model.Email, PhoneNumber = model.PhoneNumber };
            bool IsPhoneAlreadyRegistered =  await _userManager.Users.AnyAsync(item => item.PhoneNumber == model.PhoneNumber);
            if (IsPhoneAlreadyRegistered)
        {
            // Телефон уже испольузется
        }

Answered by Денис Черный on November 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP