我有一个检查验证的更新控制器操作。
if (!ModelState.IsValid) return View(InitialiseModel(model));
我的观点使用了UIHelpers:
<%=Html.EditorForModel("MyModelTemplate") %>
我的模型中有一个名为“Title”的String属性,其属性为[Required]:
[Required]
[DisplayName("Resource title")]
public string Title { get; set; }
此属性的UI模板如下所示:
<%= ViewData.ModelMetadata.IsRequired ? "*" : "" %>
<label for="<%=ViewData.ModelMetadata.PropertyName %>">
<%=ViewData.ModelMetadata.GetDisplayName() %>
</label>
<input type="text" id="<%=ViewData.ModelMetadata.PropertyName%>"
name="<%=ViewData.ModelMetadata.PropertyName%>" value="<%=Model%>" />
<%= Html.ValidationMessage(ViewData.ModelMetadata.PropertyName, "*") %>
问题是 ViewData.ModelMetadata.IsRequired 始终为false。并且永远不会显示验证消息。我错过了什么?
答案 0 :(得分:0)
可能是个错误?
自: http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html
布拉德威尔逊在答复安德鲁时说道。我不相信[必需]今天设置IsRequired是真的,这听起来像是一个bug。我会调查一下。谢谢!
答案 1 :(得分:0)
您使用的是Ajax.BeginForm还是Html.BeginForm?如果您正在使用Ajax.BeginForm,I just read thi解释了我的问题和你的问题..