我在我的asp.net mvc 3应用程序上使用jquery.validate时遇到问题.
至少在西班牙,我们使用“,”从小数中分割出一个数字.好吧,使用服务器端验证,如果我把类似的东西:
12.55当服务器验证它时,它表示该值无效.如果我把:12,55它起作用.
到目前为止一切都那么好,但如果我使用jQuery验证,则表示12,55无效,12.55是有效的.所以,客户端通过验证但服务器没有,或者客户端没有通过,但服务器会通过.
那么……我可以更改这种验证的语言环境吗?
谢谢.
PS:服务器如何知道我想用“,”而不是“.”来验证?我不记得我是否在某处指定了.
解决方法
您可能应该包含本地化文件:
http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.7/localization/messages_es.js
http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.7/localization/methods_de.js
在德国,人们对数字使用相同的规则,因此您可以使用methods_de.js或仅包含
jQuery.extend(jQuery.validator.methods,{ number: function(value,element) { return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value); } });
Here Microsoft CDN为1.6版本托管的文件列表.版本1.7有the same files.
更新:见演示here.