MVC 5模型验证消息未正确显示

时间:2014-12-03 06:23:53

标签: asp.net-mvc-5 double asp.net-mvc-viewmodel asp.net-mvc-validation validationmessage

我正在编写一个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;对于谷歌纵横无效。

而不是:

  

请输入有效的纬度。

为什么会这样?

提前致谢。

1 个答案:

答案 0 :(得分:1)

因为Required参数检查not null并且您输入的数据是“String”,因为它需要double

如果您将该字段留空,则错误消息将显示为“请输入有效的纬度。”

修改:

<强> Set Default/Replace Default Validation Message

或者

也可以尝试使用Regular Expression