Контекст: приложение MVC 2, использующее EF.
Почему некоторые из них работают, а некоторые нет?Отображаемое имя имеет значение «Имя суда», но проверка не выполняется, т.е. я не вижу сообщения об ошибке.Я думаю, что шаблоны редактора мешают проверке, иначе 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();
}
}
ПРОСМОТР:
Html.EditorFor(model => model.Court.CourtName, "LongString")
ШАБЛОН РЕДАКТОРА:
<%@ 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>