我的MVC 4验证工作正常,弹出错误消息,但仍然提交表单。知道我错过了什么吗?谢谢。
public class StatusRequestModel
{
[Required]
[Display(Name = "Ticket Number")]
public int? TicketNumber { get; set; }
[Required]
[Display(Name = "Postal Code")]
public int? PostalCode { get; set; }
}
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.LabelFor(x => x.TicketNumber)
@Html.TextBoxFor(x => x.TicketNumber)
@Html.LabelFor(x => x.PostalCode)
@Html.TextBoxFor(x => x.PostalCode)
<input type="submit" value="Submit" />
<input type="reset" value="Reset"/>
}
答案 0 :(得分:4)
确保您的代码中引用了以下JS库:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
确保web.config文件中包含以下appSettings
个条目:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
如果您愿意,还可以在视图中启用客户端验证,而不是配置文件:
@{ Html.EnableClientValidation(); }
答案 1 :(得分:3)
greg84的答案是需要包含在项目中的正确答案。但对我来说,我也遇到了jquery.validate插件无法使用jquery&gt;的问题。 1.9.0。一旦我将它改为jquery 1.8.3,它就可以了。