c# - Aspnet MVC 4 验证十进制数

标签 c# jquery asp.net-mvc jquery-validate unobtrusive-validation

我在验证我的应用程序中的小数时遇到了一些问题。例如,如果我在文本框中写入“14,25”,这对我的文化来说是正确的,但客户端验证失败。此外,如果我写 14.25,点将被删除,1425 将放置在实体属性中,此外,在 SaveChanges 之后,保存到数据库表中的值为 999,99。 需要就此问题提出建议。 这与我在这里的另一个问题有关: https://stackoverflow.com/questions/24186365/set-jquery-culture-once-for-the-entire-aplication-possible/24186535#24186535

编辑: 添加代码,就这么简单,我想我不会有必要,因为这一定是一个普遍的问题。

[DisplayFormat( DataFormatString = "{0:n2}", ApplyFormatInEditMode = true )]
        public decimal Peso { get; set; }

@Html.LabelFor(model => Model.Peso)
<div class="input-control text" data-role="input-control">
    @Html.EditorFor(model => Model.Peso)
    @Html.ValidationMessageFor(model => Model.Peso)
</div>

最佳答案

尝试使用来自 http://github.com/jquery/globalize 的 jQuery 全局化插件.

将以下文件添加到/scripts 文件夹:

/scripts/globalize.js
/scripts/cultures/globalize.cultures.js
/sctipts/cultures/globalize.culture.de-DE.js

在 BundleConfig.cs 中:

bundles.Add(new ScriptBundle("~/bundles/scripts/globalization").Include(
      "~/Scripts/globalize*",
      "~/Scripts/cultures/globalize*"));

在 _Layout.cshtml 中:

@Scripts.Render("~/bundles/scripts/globalization")

关于c# - Aspnet MVC 4 验证十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188215/

相关文章:

c# - 在运行 update-database 之前删除代码优先迁移

c# - 是否可以将自定义 header 添加到 ServiceStack Redis 消息中?

asp.net - Extensionless MVC 和 IIS 8 请求过滤

c# - 如何处理复选框列表?

asp.net-mvc - Web 项目需要缺少具有 Razor 语法 3.0.0.0 的 Web 组件 ASP.NET 网页

c# - 无需数据库即可永久存储数据

c# - 在 .NET 中使用 S3 存储

javascript - 使用 jquery validate 在 select2 中输入有效答案后删除类 ('has-error' )

jquery - 以逐步形式隐藏错误消息

jQuery 选择并过滤 <option> 的内容