jQuery验证小数分隔符和Asp.net MVC

Mor*_*rph 8 asp.net-mvc jquery

新的Asp.net mvc 2.0输入验证就像一个魅力,除了jquery.validate的十进制分隔符.当我使用Microsoft MVC ajax库时,它工作正常.逗号是小数分隔符服务器端以及客户端.

<script src="/Scripts/MicrosoftAjax.js" type="text/javascript" ></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript" ></script>
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

当我使用它(在主视图中加载jquery)时,我必须在客户端使用一个点.但是然后模型无效并返回到视图,创建一个有趣的循环.

<script src="/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcJqueryValidation.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

我宁愿使用jquery来满足我所有的javascript需求,有没有办法让jquery.validate使用逗号,而不是点?我一直在谷歌搜索和阅读文档,但很奇怪我在这个问题上找不到多少,你会认为这是一个常见问题.

Pau*_*tos 2

啊……全球化的乐趣!

在处理数字时(我什至不会开始处理日期),确定正确的小数分隔符的需要可能令人望而生畏。但是,有一种简单的方法可以确定任何客户端的小数分隔符:

function GetDecimalSeparator()
{
  return  (1 / 10).ToString().substring(1, 1);
}
Run Code Online (Sandbox Code Playgroud)

这样您将始终知道客户端的小数分隔符是什么,并相应地执行验证。

  • 好,谢谢。但是如何让 jquery.validate 使用这个分隔符?如果它是一个点而 MVC 服务器端需要一个逗号怎么办?这变得非常令人困惑;)。 (4认同)