2009-11-19 40 views
0

我有一個更新控制器操作來檢查驗證。Html ValidationMessage因爲升級到ASP.NET MVC 2 Beta而不工作

if (!ModelState.IsValid) return View(InitialiseModel(model)); 

我的看法使用UIHelpers:

<%=Html.EditorForModel("MyModelTemplate") %> 

我在我的模型稱爲 「標題」,它具有屬性[必需]一個String屬性:

[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

它是否在HTML源代碼中創建驗證器範圍標記? – RailRhoad 2009-12-02 15:25:26

回答

0

可能是一個錯誤?

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

布拉德·威爾遜在回答安德魯說...

我不認爲[必填]套IsRequired真正的今天,這聽起來像它可能是一個錯誤是。我會研究它。謝謝!

+0

感謝您的回答吉米,相當有幫助,但我仍然困惑爲什麼行<%= Html.ValidationMessage(ViewData.ModelMetadata.PropertyName,「*」)%>不顯示驗證錯誤... – 2009-11-20 10:18:12

0

您是使用Ajax.BeginForm還是Html.BeginForm? I just read thi s說明了我的問題,如果您使用的是Ajax.BeginForm,則說明您的問題。

相關問題