即使在ASP.Net MVC3下禁用,客户端验证似乎也会触发

时间:2013-06-10 13:06:51

标签: asp.net-mvc-3

我们有一个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)如何抑制这一点。

0 个答案:

没有答案