我有一个检查验证的更新控制器操作。
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始终为假。并且永远不会显示验证消息。我错过了什么?