2014-10-16 3 views
0

Предположим, что у меня есть модель с собственностью.Валидационные сообщения больше не локализованы после публикации

[Required] 
public string XXX { get; set; } 

Как вы можете видеть, у меня есть атрибут проверки [обязательно]. Давайте попробуем оставить его пустым в форме и появится сообщение об ошибке. Приложение работает на сервере разработки VS.

Pole XXX jest wymagane.

Пока все в порядке. Появится локализованное сообщение. Но после публикации локализация теряется.

Поле XXX не требуется.

Сначала кажется, что мы должны проверить, является культура на опубликованном приложении (я вхожу в этот файл и отобразить его в представлении):

Культура: пл-PL CultureUI: PL-PL

Кажется, что это проблема?

Опубликованное приложение установлено на другой машине, где локаль Windows Server настроена на en-GB, но это не имеет значения, поскольку в моей культуре приложения разные, не так ли?

+1

возможно дубликат [сообщения проверки ASP.NET MVC не получает локализованный] (http://stackoverflow.com/questions/18229813/asp-net-mvc-validation-message-does-not- get-localized) – GSerg

+0

Почему вы не переопределяете встроенные сообщения об ошибках, предоставляя явные сообщения типа '[Обязательный (ErrorMessage =" Wymagana wartość ")]' –

+0

@WiktorZychla Потому что у меня есть сотни моделей, и я бы хотел, наконец, почему он не работает корректно. – Andrzej

ответ

2

Фактически, только изменение конфигурации в web.config недостаточно для применения культуры. Что работает в моем тестовом сценарии, загрузили «Полный языковой пакет Microsoft .NET Framework 4».

После установки this package (на польском языке), изменяя только глобализацию в моем web.config

<system.web> 
    <globalization uiCulture="pl-PL" culture="pl-PL" /> 

было достаточно, чтобы показывать все сообщения проверки на польском языке.

enter image description here

1

Я нашел аналогичную проблему. После публикации моего приложения валидация больше не отображалась.

В моем случае, чтобы решить эту проблему, я должен был включить этот атрибут в моем web.config:

<configuration> 
    <appSettings>  
     <add key="ClientValidationEnabled" value="true" /> 

После этого была показана проверка.

+0

Он не отвечает OP, сообщения об ошибках отображаются в его случае, но не в правильном языке – glautrou

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