0
上下文:使用EF的MVC 2應用程序。有關MVC數據註釋,編輯器模板和驗證的問題
爲什麼有些工作,但有些沒有?顯示名稱被設置爲「Court Name」,但沒有進行驗證,即沒有看到錯誤消息。我在想編輯器模板會干擾驗證,否則Model.IsValid不能用於複雜的視圖模型。
有什麼想法?
部分類:
[MetadataType(typeof(CourtMetaData))]
public partial class Court
{
private class CourtMetaData
{
[Required(ErrorMessage = "Court Name is required")]
[DisplayName("Court Name")]
public System.String CourtName
{
get;
set;
}
}
}
控制器:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult New(CourtsNewViewModel court)
{
if (ModelState.IsValid)
{
db.AddCourt(court);
return View("List");
}
else
{
return View("New", court);
}
}
視圖模型:
public class CourtsNewViewModel : ViewModelBase
{
public Court Court {get; private set; }
public IEnumerable<CourtType> CourtTypes { get; private set; }
public CourtsNewViewModel()
{
CourtTypes = db.GetAllCourtTypes();
}
}
VIEW:
Html.EditorFor(model => model.Court.CourtName, "LongString")
EDITOR模板:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.String>" %>
<div class="editor-row">
<div class="editor-label">
<%= Html.LabelFor(model => model) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model)%>
<%= Html.ValidationMessageFor(model => model) %>
</div>
</div>