Суть вопроса проста, класс
UserValidator
генерирует ошибку на ENG, а я бы хотел на русском,
на этом сайте нашёл способ
https://professorweb.ru/my/ASP_NET/identity/level1...
как это сделать
spoilerИзменения текста ошибок проверки достоверности
Чуть ранее я говорил, что покажу как изменить тексты стандартных ошибок проверки достоверности. Очевидно, что ошибки на английском языке для русскоязычного приложения недопустимы. Итак, нам необходимо реализовать интерфейс валидатора IIdentityValidator, где T - тип проверяемого поля. Например, рассмотренный выше класс PasswordValidator реализует интерфейс IIdentityValidator, а UserValidator - IIdentityValidator. Для примера давайте изменим определение класса CustomUserValidator:
using Microsoft.AspNet.Identity;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Users.Models;
namespace Users.Infrastructure
{
public class CustomUserValidator : IIdentityValidator
{
public async Task ValidateAsync(AppUser item)
{
List errors = new List();
if (String.IsNullOrEmpty(item.UserName.Trim()))
errors.Add("Вы указали пустое имя.");
string userNamePattern = @"^[a-zA-Z0-9а-яА-Я]+$";
if (!Regex.IsMatch(item.UserName, userNamePattern))
errors.Add("В имени разрешается указывать буквы английского или русского языков, и цифры");
if (errors.Count > 0)
return IdentityResult.Failed(errors.ToArray());
return IdentityResult.Success;
}
}
}
В этом примере мы вручную проверяем заполнение поля и список допустимых символов в имени пользователя. Также необходимо изменить вызов вспомогательного класса валидации в методе Create() класса AppUserManager:
manager.UserValidator = new CustomUserValidator();
но мне это не подходит, так как в этом случае надо самому делать реализацию интерфейса, а хочется пользоваться базовым функционалом, но с русскими ошибками =))