【问题标题】:Aspnet MVC 4 validating decimal numbersAsp Net MVC 4 验证十进制数
【发布时间】:2014-06-12 15:25:16
【问题描述】:

在我的应用程序中验证小数时遇到了一些问题。例如,如果我将“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>

【问题讨论】:

  • 显示一些代码...????
  • @TMcKeown,我编辑了问题,谢谢

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


【解决方案1】:

尝试使用来自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")

【讨论】:

  • 谢谢,我要去托盘了,全球化有 NuGet 包吗?
  • 我找不到带有文化 js 文件的文件夹文化,似乎它们已从项目中删除?
  • 如果这些文件夹不存在,请创建它们。我认为它没有 NuGet 包。
  • Google 文件名,您会找到它们并能够下载/保存它们。
  • 这里是 Nuget 包:nuget.org 或 Install-Package jquery-globalize
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
相关资源
最近更新 更多