2

我在使用文化、MVC3 和数据注释时遇到问题。STORES我在西班牙数据库上定义了一个表,(COLLATION is set for LATIN_GENERAL);其中一些字段在 SQL 中定义为DECIMAL(18,2) NOT NULL. 在我的 MVC3 应用程序中,我已经在 web.config 文件中为“es-ES”设置了文化。另外,我正在使用我所有的强类型视图。

如果我使用 DataAnnotations 进行验证,它会自动添加Required fieldThe field must be a number验证。这将是完美的,除了一件事:

The field must be a number验证迫使我使用点(。)作为小数分隔符而不是逗号(,)。所以,我不知道如何更改它,也不知道如何翻译此错误消息。然后我想我可能会强迫用户在 jquery 中使用点而不是逗号(丑陋的解决方案)。所以,我这样做只是为了进行一些测试,结果是它允许我通过验证并在数据库中完美地创建了对象。

但奇怪的是,当我编辑同一个对象时,它显示在我相同的强类型表单上,用逗号作为小数分隔符而不是点。所以有什么问题?用户永远不能提交对象的版本。

我究竟做错了什么?

  1. 向数据库添加了正确的排序规则。
  2. 在 web.config 文件中添加了全球化属性。
  3. 我什至尝试了这个MVC 3 jQuery Validation/globalizing of number/decimal field ,但没有成功...

哪种方法是正确的?

谢谢

4

1 回答 1

0

好吧,您可以关闭客户端验证,也可以应用一些技巧,例如:

http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html

于 2011-12-13T22:20:41.103 回答