我有一个 ASP.NET MVC 4 应用程序和一个绑定到模型的视图。我使用 globalize.js 进行全球化,我还扩展了 jQuery 验证,例如:
<script type="text/javascript">
$.validator.methods.number = function (value, element) {
return this.optional(element) ||
!isNaN(Globalize.parseFloat(value));
}
</script>
<script type="text/javascript">
jQuery.extend(jQuery.validator.methods, {
range: function (value, element, param) {
//Use the Globalization plugin to parse the value
var val = $.global.parseFloat(value);
return this.optional(element) || (
val >= param[0] && val <= param[1]);
}
});
</script>
因此该视图适用于使用“。”的德国数字。作为组分隔符和“,”作为逗号分隔符。
我的问题是,当我通过提交表单保存视图时,会调用控制器操作并且 ModelState 无效,因为所有数字都包含“。”的组分隔符。正在生成错误“数字不是有效数字”。所有只有逗号分隔符“,”的数字都是有效的。文化设置正确为“de-DE”。在保存之前我需要做一些特别的事情吗?