Я собираюсь настроить конечную точку регистрации. Тело запроса должно содержать номер телефона и пароль.
В этом случае могут возвращаться сообщения об ошибках, связанных с номером телефона.
Например, 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
Мобильная версия