2

我们有一个将在英国和德国使用的 ASP.Net MVC3 应用程序。

一些编辑屏幕涉及编辑浮点值。这些是使用

@Html.EditorFor(m => m.Multiplier, new { size = 5, id = "multiplier" })

...或者

@Html.TextBoxFor(m => m.Multiplier, new { size = 5, id = "multiplier" })

我们的基本问题是,当使用 DE-de 文化(使用 , 表示小数点)运行时,我们会在验证摘要中收到消息,例如

• 值“4,3”对乘数无效。

在做一些研究后,我发现在 MVC 3 中对客户端验证的国际化支持并不是那么好。我知道有潜在的解决方案涉及添加更多最近的 Javascript 全球化工作。但为了尽量减少影响,我宁愿简单地禁用客户端验证并接受需要在服务器端完成此验证。

所以......我试图以多种方式禁用客户端验证:

a) 在编辑屏幕的代码中:

@using Foo.Models.Analyses
@model Foo.Models.Analyses.Bar
@{ 
    Html.EnableClientValidation(false);
    Html.EnableUnobtrusiveJavaScript(false);

    using (Html.BeginForm("SomeAction", "SomeController", FormMethod.Post, new { autocomplete = "off" }))
   {

b) 同上,但使用语法 HtmlHelper.ClientValidationEnabled = false; HtmlHelper.UnobtrusiveJavaScriptEnabled = false

c) 与 a) 和 b) 相同,但使用 web.config。

这些似乎都没有压制这些消息。所以我的问题是:

1) 框架的哪个部分仍在执行此验证。(它不会发生在服务器端验证覆盖中。)

2)我如何抑制这个。

4

0 回答 0