0

我有一个检查验证的更新控制器操作。

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始终为假。并且永远不会显示验证消息。我错过了什么?

4

2 回答 2

0

Are you using Ajax.BeginForm or Html.BeginForm? I just read this which explained my problem and yours too if you're using Ajax.BeginForm..

于 2009-12-02T15:46:26.840 回答
0

可能是一个错误?

来自: http ://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html

布拉德威尔逊在回复安德鲁时说......

我不相信今天 [Required] 将 IsRequired 设置为 true,这听起来可能是一个错误。我会调查的。谢谢!

于 2009-11-19T22:42:45.373 回答