【发布时间】:2014-12-03 06:23:53
【问题描述】:
我正在编写一个 MVC 5 互联网应用程序,我有一个关于视图模型中字段验证的问题。
这是我的视图模型字段:
[Display(Name = "Latitude")]
[Required(ErrorMessage = "Please enter a valid latitude.")]
public double startupLatitude { get; set; }
这是我的视图代码:
<div class="form-group">
@Html.LabelFor(model => model.startupLatitude, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.startupLatitude, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.startupLatitude, "" , new { @class = "text-danger" })
</div>
</div>
如果我输入的值不是双精度值,例如:
测试
我在视图中显示以下验证消息:
值“测试”对纬度无效。
代替:
请输入一个有效的纬度。
这是为什么?
提前致谢。
【问题讨论】:
-
添加
@Html.EditorFor()方法生成的html -
这种行为是正常且有效的,因为您输入的是字符串,而模型属性是双精度类型。
-
这里使用
Required是没有意义的,因为double必须始终有一个值。仅当您有double?(可为空)时才需要
标签: asp.net-mvc-5 double asp.net-mvc-viewmodel asp.net-mvc-validation validationmessage