2014-10-16 19 views
0

假設我有一個包含屬性的模型。發佈後驗證郵件不再本地化

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

正如您所見,我有驗證屬性[必需]。讓我們嘗試在窗體中留空,並顯示錯誤消息。該應用程序適用於VS開發服務器。

極XXX開玩笑wymagane。

到目前爲止它沒關係。顯示本地化消息。但是在發佈後,本地化將會丟失。

字段XXX是必需的。

首先認爲,我們應該檢查是上發佈應用程序的文化(我把它記錄到文件,並在視圖中顯示它):

文化:PL-PL CultureUI:PL-PL

看起來好,那麼問題在哪裏?

公佈的應用程序安裝在那裏的Windows服務器的區域設置爲EN-GB不同的機器上,但它不應該的問題,只要在我的應用程序的文化是不同的,對不對?

+1

的可能重複[ASP.NET MVC驗證消息沒有得到本地化(http://stackoverflow.com/questions/18229813/asp-net-mvc-validation-message-does-not-獲得本地化) – GSerg 2014-10-16 18:43:21

+0

你爲什麼不提供像'[必需(的ErrorMessage =「Wymaganawartość」)顯式消息覆蓋內建錯誤消息' – 2014-10-16 18:44:00

+0

@WiktorZychla因爲我有上百種款式,我想最後算起來爲什麼它不能正確工作。 – Andrzej 2014-10-16 18:45:16

回答

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 2015-09-28 15:54:55