Asp.net mvc 5 MVC 5模型验证消息未正确显示
我正在编写一个MVC5互联网应用程序,我有一个关于视图模型中字段验证的问题 以下是“我的视图模型”字段:Asp.net mvc 5 MVC 5模型验证消息未正确显示,asp.net-mvc-5,double,asp.net-mvc-viewmodel,asp.net-mvc-validation,validationmessage,Asp.net Mvc 5,Double,Asp.net Mvc Viewmodel,Asp.net Mvc Validation,Validationmessage,我正在编写一个MVC5互联网应用程序,我有一个关于视图模型中字段验证的问题 以下是“我的视图模型”字段: [Display(Name = "Latitude")] [Required(ErrorMessage = "Please enter a valid latitude.")] public double startupLatitude { get; set; } 以下是我的查看代码: <div class="form-group"> @Html.LabelFor(mo
[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>
@LabelFor(model=>model.startupLatitude,htmlAttributes:new{@class=“controllabel col-md-2”})
@EditorFor(model=>model.startupLatitude,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.startupLatitude,“,new{@class=“text danger”})
如果输入的值不是双精度值,例如:
试验
我将在视图中显示以下验证消息:
值“Test”对纬度无效
而不是:
请输入有效的纬度
为什么会这样
提前感谢。因为所需的参数检查为NOTNULL,并且您输入的数据是一个“字符串”,正如它所期望的那样 如果将该字段保留为空,则错误消息将显示为“请输入有效纬度” 编辑: 或
尝试使用
正则表达式
。添加由@html.EditorFor()
方法生成的html此行为正常有效,因为您输入的是字符串,而模型属性的类型为double。此处使用Required
毫无意义,因为double
必须始终具有值。只有当您有double?
(可为空)时才有必要。我可以通过某种方式修改代码,使空条目或字符串的验证消息相同吗?DataType
不包含double
@StephenMuecke的枚举值谢谢您的更新我已经更新了我的答案