2013-10-15 75 views
6

我遇到本地化问题。在巴西,我们使用逗号作为小数点分隔符,而不是点。例如:允许使用点号和逗号数字,不仅用于小数点

500,00 
120,21 
0,0001 

我发现基于这个答案的解决了这个问题:“” MVC 3 jQuery Validation/globalizing of number/decimal field

但在巴西,我们也使用在数量上,如:

100.000.000,00 
11.125,23 

还有一件事:

10.000 <> 10,000 

第一个是一万,第二个是简单十名。

使用全球化插件时,当用户输入“。”时,会显示验证错误。 我尝试使用数据注释DisplayFormat,但它没有按预期工作... 要“解决”这个问题,我使用javascript来手动设置和删除“。”。从场上的数字来看,但是当我们需要改变任何东西时,这是非常有问题的(我相信这是我可以使用的最糟糕的方法之一)。你们有什么想法在这种情况下如何进行?

还有一个问题:我可以创建一个模型联编程序(或修改现有的)来接受这个数字格式?

回答

10

我刚找到答案。

Fixing binding to decimals

它在我的情况下完美地工作。这家伙解决了我遇到的完全相同的问题!

我刚刚修改的几行代码,但最重要的部分是这条线:

ModelBinders.Binders.Add(typeof(decimal), new DecimalModelBinder()); 

我修改了它接受空的值。

相关问题