3

Как я могу глобально перегружать сообщения об ошибках, получая, например, из атрибута [Обязательный]? Вероятно, я должен изменить CultureInfo, но я не могу найти никаких учебных пособий. Язык по-прежнему английский по умолчанию. Спасибо!Язык сообщения ASP.NET Core ValidationAttribute

+0

что я знаю, вы могли бы [[Required (ErrorMes) sage = @ "Это необходимо")], но это будет только на одном языке. –

+0

'ErrorMessage' работает хорошо и отображает любые языки, но это уродливо писать одинаковый текст все время. – loqie

ответ

0

Вы можете использовать ErrorMessageResourceName и ErrorMessageResourceType, используя файлы ресурсов для хранения сообщений.

1

Первой ссылкой на глобализацию и локализацию ядра ASP.NET является https://docs.asp.net/en/latest/fundamentals/localization.html.

Здесь вы найдете информацию о том, как перевести аннотации данных и как настроить ASP.NET Core для выбора соответствующего языка/CultureInfo для каждого запроса.

Сообщения об ошибках DataAnnotations локализованы с помощью IStringLocalizer<T>. Использование опции ResourcesPath = «Ресурсы», сообщения об ошибках в RegisterViewModel могут быть сохранены в одном из следующих путей:

Ресурсы/ViewModels.Account.RegisterViewModel.fr.resx Ресурсы/ViewModels/счета/RegisterViewModel. fr.resx

для встроенных сообщений об ошибках для моделей идентичности (например, «Этот адрес уже используется.) или основных текстов проверки вы должны сделать некоторые настройки. Я документированы некоторые работы в ASP.Net Core localization.

+0

Спасибо за ответ и ссылку, надеюсь, что основная команда asp.net сделает ее более простой в будущем, как в asp.net mvc. – loqie

Смежные вопросы