有没有人经历过不能使用MVC3的表单验证?
我的模型标有相关属性,例如:
public string MyClass{
[Required]
public string Name{get;set;}
}
该视图也作为适当的标记:
@Html.TextBoxFor(x=>x.Name)
@Html.ValidationMessageFor(x=>x.Name)
但是验证消息永远不会显示。我可以从生成的HTML中看到它已经放入了用于验证的span标记,但它们被标记为有效而不是错误。似乎没有调用模型上的验证。可能发生这种情况的原因是什么?
答案 0 :(得分:1)
您是否拥有View的必要验证JavaScript文件?
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
这些要么需要存在于View使用的布局中(如果它使用任何)或View本身。这些JavaScript / jQuery文件控制着客户端验证。
另外,在POST上的Action方法中,模型是否有效(由ModelState.IsValid
布尔属性测试)?