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