我在使用Cultures,MVC3和Data Annotations时遇到了问题。我在西班牙语数据库STORES
上定义了一个表(COLLATION is set for LATIN_GENERAL);
,其中一些字段在SQL中定义为DECIMAL(18,2) NOT NULL
。在我的MVC3应用程序上,我已经在web.config文件中为“es-ES”设置了文化。此外,我正在使用强烈输入的所有观点。
如果我使用DataAnnotations进行验证,它会自动添加Required field
和The field must be a number
验证。除了一件事,这将是完美的:
The field must be a number
验证强制我使用点(。)作为小数分隔符而不是逗号(,)。所以,我不知道如何更改它,也不知道如何翻译此错误消息。然后我想我可能强迫用户使用点而不是逗号与jquery(丑陋的解决方案)。所以,我这样做只是为了进行一些测试,结果是它允许我传递验证并完美地创建数据库中的对象。
但是这里很奇怪,当我编辑同一个对象时,它显示在我的同一个强类型表单上,逗号为小数点分隔符而不是点。所以有什么问题?用户不能再提交该对象的版本。
我做错了什么?
- 为数据库添加了正确的排序规则。
- 在web.config文件中添加了globalization属性。
- 我甚至试过这个MVC 3 jQuery Validation/globalizing of number/decimal field 没有成功......
醇>
这是正确的方法吗?
由于
答案 0 :(得分:0)
好吧,你可以关闭客户端验证,也可以应用一些这样的黑客攻击:
http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html