我在应用程序中遇到一些验证小数的问题。例如,如果我在文本框中写入“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>
答案 0 :(得分:2)
尝试使用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")