我正在编写一个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>
如果我输入的值不是双精度值,例如:
测试
我在视图中显示以下验证消息:
价值&#39;测试&#39;对于谷歌纵横无效。
而不是:
请输入有效的纬度。
为什么会这样?
提前致谢。
答案 0 :(得分:1)
因为Required参数检查not null并且您输入的数据是“String”,因为它需要double
如果您将该字段留空,则错误消息将显示为“请输入有效的纬度。”
修改:
<强> Set Default/Replace Default Validation Message 强>
或者
也可以尝试使用Regular Expression
。