让我们说我有一个有财产的模特。
[Required]
public string XXX { get; set; }
如您所见,我有验证属性[必需]。让我们尝试在表单中将其留空,并显示错误消息。该应用程序适用于VS开发服务器。
Pole XXX jest wymagane。
到目前为止还可以。出现本地化消息。但是在发布之后,本地化就失去了。
字段XXX是必需的。
首先认为我们应该检查已发布应用的文化(我将其记录到文件并在视图中显示):
文化:pl-PL CultureUI:pl-PL
似乎没问题,那么问题出在哪里?
已发布的应用程序安装在Windows Server区域设置为en-GB的不同计算机上,但就我的应用程序文化不同而言,它并不重要,对吗?
答案 0 :(得分:2)
实际上,仅更改web.config中的配置还不足以应用文化。在我的测试场景中有效的是下载“Microsoft .NET Framework 4完整语言包”。
安装this package后(波兰语),只更改web.config中的全球化
<system.web>
<globalization uiCulture="pl-PL" culture="pl-PL" />
足以用波兰语显示所有验证消息。
答案 1 :(得分:1)
我发现了类似的问题。发布我的应用程序后,不再显示验证。
就我而言,要解决这个问题,我必须在web.config中包含这个属性:
<configuration>
<appSettings>
<add key="ClientValidationEnabled" value="true" />
之后,显示验证。