【发布时间】:2014-03-11 15:19:53
【问题描述】:
我已经阅读了很多关于这个主题的博文,但我从未看到完整的解决方案。
我已经为这个默认的 html 搭建了脚手架(bedrag 是十进制):
<div class="editor-field">
@Html.EditorFor(model => model.Bedrag)
@Html.ValidationMessageFor(model => model.Bedrag)
</div>
这会在页面呈现时为输入控件中的小数点生成一个逗号,即使我将它放在我的 web.config 中也是如此:
<globalization culture="en-US" uiCulture="en-US" /> 或者这个
<globalization culture="auto" uiCulture="auto" />
然后,Jquery 验证插件抱怨我的“bedrag”输入字段中有一个逗号作为小数分隔符(@Html.EditorFor(model => model.Bedrag) 已将其放在那里),这导致错误我的输入不是数字;它需要一个点作为小数分隔符。
但是,当我输入这个 12.90 的数字时,默认模型绑定器会将我的输入转换为 1290(输入乘以 100)。
然后我创建了一个自定义模型绑定器,在该代码中,当前文化是“nl-NL”,而不是我的 web.config 中的“en-US”。
所以现在我想知道:
1 2014 年我还需要自定义模型绑定器吗?
2 当 ASP.Net 为@Html.ValidationMessageFor(model => model.Bedrag) 创建值时,使用哪种文化? (为什么不是我的 web.config 中的那个?)
3 如何动态设置用于@Html.ValidationMessageFor(model => model.Bedrag) 的文化
4 如何动态设置用于 Jquery 验证的区域性?
我已经离开 ASP.Net MVC 一年了,但难道在 2014 年我仍然遇到这些小数点问题吗?
【问题讨论】:
-
你看过这个 (hanselman.com/blog/…) 博文吗?
-
是的,我做了,但它有一个指向“jQuery Global 插件”的链接。这是 404,并且到此页面“来自 GitHub 的 700 jQuery Globs”。这也是 404。
标签: jquery validation asp.net-mvc-4