【发布时间】:2011-10-17 19:28:08
【问题描述】:
我有一个 ASP.NET Web 应用程序,我的视图模型有一个双字段 PowerPrice,但如果用户没有输入前导零,则该字段的验证会关闭。验证会说“请输入一个数字”。如何允许用户输入“.11”而不是要求“0.11”?这是我的视图和模型代码:
<div class="editor-field">
@Html.EditorFor(model => model.PowerPrice)
@Html.ValidationMessageFor(model => model.PowerPrice)
</div>
public double PowerPrice
{
get;
set;
}
【问题讨论】:
-
所以我不想在这里回答我自己的问题,因为我真的觉得 MVC 应该解决这个问题,但我找到了两个解决方案:要么编写客户验证,要么使用字符串而不是双精度然后执行在服务器端有一个 TryParse() 。不过,我不太喜欢这两种解决方案中的任何一种,所以我会留下这个问题,看看我是否能得到更好的答案。
-
我也有同样的问题。我不明白 .25 不是数字,但 0.25 是。将逗号放在 int 中的问题相同。在那种情况下,我也求助于制作一个字符串。
-
仍然没有简单的答案吗? .25 == 0.25?
标签: asp.net-mvc razor numeric