Я собираюсь настроить конечную точку регистрации. Тело запроса должно содержать номер телефона и пароль.
В этом случае может быть возвращено несколько сообщений об ошибках, связанных с номером телефона.
Например, PhoneNumber xxx недействителен, PhoneNumber xxx дублируется...
Поэтому я собираюсь добавить несколько описаний ошибок, настроив IdentityErrorDescriber.
Код: Выделить всё
public class AuthErrorDescriber : IdentityErrorDescriber
{
///
/// Returns an indicating the specified
is invalid.
///
/// The phoneNumber that is invalid.
/// An indicating the specified is invalid.
public virtual IdentityError InvalidPhoneNumber(string? phoneNumber)
{
return new IdentityError
{
Code = nameof(InvalidPhoneNumber),
// Here, I cannot customize or use `Resources`
// for example `Resources.PasswordMismatch`
Description = $"PhoneNumber '{phoneNumber}' is invalid."
};
}
}
Код: Выделить всё
services.AddIdentity()
.AddErrorDescriber();
Код: Выделить всё
if (string.IsNullOrEmpty(phoneNumber) || !PhoneNumberHelper.IsValid(phoneNumber))
{
return CreateValidationProblem(IdentityResult.Failed(userManager.ErrorDescriber.InvalidPhoneNumber(phoneNumber)));
}
CS1061: «IdentityErrorDescriber» не содержит определения для «InvalidPhoneNumber». и не удалось найти доступный метод расширения InvalidPhoneNumber, принимающий первый аргумент типа IdentityErrorDescriber (вам не хватает директивы using или ссылки на сборку?)
Как я могу решить вышеуказанную проблему? Есть ли другие подходы к добавлению новых методов?
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-identity
Мобильная версия