Как добавить новый метод в IdentityErrorDescriber в AspNetCore.IdentityC#

Место общения программистов C#
Ответить
Anonymous
 Как добавить новый метод в IdentityErrorDescriber в AspNetCore.Identity

Сообщение Anonymous »

Для идентификации в своем проекте я использую пакет AspNetCore.Identity.

Я собираюсь настроить конечную точку регистрации. Тело запроса должно содержать номер телефона и пароль.

В этом случае могут возвращаться сообщения об ошибках, связанных с номером телефона.

Например, 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' does not contain a definition for 'InvalidPhoneNumber' and no accessible extension method 'InvalidPhoneNumber' accepting a first argument of type 'IdentityErrorDescriber' could be found (are you missing a using directive or an assembly reference?)
Как решить описанную выше проблему?

Есть ли другие способы добавления туда новых методов?

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-identity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»