@Matsun

ASP NET Identity есть ли способы вывода ошибок на русском?

Суть вопроса проста, класс
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();


но мне это не подходит, так как в этом случае надо самому делать реализацию интерфейса, а хочется пользоваться базовым функционалом, но с русскими ошибками =))
  • Вопрос задан
  • 946 просмотров
Пригласить эксперта
Ответы на вопрос 1
ImmortalCAT
@ImmortalCAT
C# loving
Some Samples
msdn
public class CustomerData
{
    // Require that the Title is not null.
    // Use custom validation error.
    [Required(ErrorMessage = "Title is required.")]
    public string Title;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы