验证不接受声明为十进制的字段中的十进制数

时间:2014-03-23 16:43:31

标签: jquery asp.net validation razor asp.net-mvc-5

我有一个带有文本框的剃须刀视图,用于更新数据库字段。字段类型在模型中声明为十进制。

当我输入5,25之类的值时我得到jquery验证错误"The field xxx must be a number."当我输入5.25时,jquery接受此值,但是ModelState.IsValid in我的Update控制器变为false,我在modelstate.values []中遇到错误... "The value '5.25' is not valid for xxx.".

我正在使用

<script src="/Scripts/jquery-2.1.0.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

视图上的脚本。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过添加jQuery.globalization库? 这解决了我的语言环境问题。 (在Git Hub上还有一个较旧的jQuery.globalize) Web服务器上的区域设置也可以与浏览器上的区域设置不同。因此,浏览器接受5.25,因为客户端语言环境是en-US,但服务器设置为de(或类似),因此控制器需要5,25的值。永远不要假设一个语言环境,并使用指定语言环境的解析函数。