发布后,验证消息不再本地化

时间:2014-10-16 18:40:03

标签: c# asp.net-mvc asp.net-mvc-4

让我们说我有一个有财产的模特。

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

如您所见,我有验证属性[必需]。让我们尝试在表单中将其留空,并显示错误消息。该应用程序适用于VS开发服务器。

  

Pole XXX jest wymagane。

到目前为止还可以。出现本地化消息。但是在发布之后,本地化就失去了。

  

字段XXX是必需的。

首先认为我们应该检查已发布应用的文化(我将其记录到文件并在视图中显示):

  

文化:pl-PL   CultureUI:pl-PL

似乎没问题,那么问题出在哪里?

已发布的应用程序安装在Windows Server区域设置为en-GB的不同计算机上,但就我的应用程序文化不同而言,它并不重要,对吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

我发现了类似的问题。发布我的应用程序后,不再显示验证。

就我而言,要解决这个问题,我必须在web.config中包含这个属性:

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

之后,显示验证。