数据注释+ MVC3 +文化问题

时间:2011-12-13 21:52:41

标签: asp.net-mvc-3 data-annotations globalization jquery-globalization

我在使用Cultures,MVC3和Data Annotations时遇到了问题。我在西班牙语数据库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.   
  3. 在web.config文件中添加了globalization属性。
  4.   
  5. 我甚至试过这个MVC 3 jQuery Validation/globalizing of number/decimal field   没有成功......
  6.   

这是正确的方法吗?

由于

1 个答案:

答案 0 :(得分:0)

好吧,你可以关闭客户端验证,也可以应用一些这样的黑客攻击:

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

相关问题