[英]I am getting no validation in my formulary… asp.net mvc EF5
我有这个viewModel类:
[Required]
[StringLength(50)]
public string Name { get; set; }
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
public string MessageType { get; set; }
[Required]
[StringLength(300)]
[DataType(DataType.MultilineText)]
public string Message { get; set; }
我在我的视图中有这个代码:
@model Kekanto.ViewModels.DoubtViewModel
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<br />
@Html.LabelFor(model=>model.Name)
@Html.EditorFor(model=>model.Name)<br />
@Html.ValidationMessageFor(model => model.Name)
@Html.LabelFor(model=>model.Email)
@Html.EditorFor(model=>model.Email)<br />
@Html.ValidationMessageFor(model => model.Email)
@Html.Label("MessageType")
<select name="MessageType" id="MessageType">
<option ></option>
<option >Sugestion</option>
<option >Question</option>
<option >Complaint</option>
</select>
@Html.ValidationMessageFor(model => model.MessageType)
<br /><br />
@Html.LabelFor(model=>model.Message)
@Html.EditorFor(model=>model.Message)
@Html.ValidationMessageFor(model => model.Message)
<input type="submit" value="Send Message" />
}
尽管有些属性是必需的,但我没有得到验证......我可以发送空表格而且我没有收到消息“这个字段是必需的”....
您是使用客户端验证还是仅使用服务器端验证。
为了ModelState.IsValid
服务器端,您需要在POST上检查ModelState.IsValid
看看这里 。 您可能缺少对正确的javascript文件的一些引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.