2009-11-19 1 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; } 

Шаблон пользовательского интерфейса для это свойство выглядит следующим образом:

<%= 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

Создает ли теги span validator в источнике HTML? – RailRhoad

ответ

0

Возможно, ошибка?

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

Брэд Уилсон сказал в ответ на Эндрю ...

Я не верю, что [обязательно] комплектов требуется копаться, чтобы быть правдой сегодня, что кажется, что это, вероятно, ошибка. Я посмотрю. Благодаря!

+0

Спасибо за ваш ответ Джимми, очень полезно, но я все еще смущен тем, почему строка <% = Html.ValidationMessage (ViewData.ModelMetadata.PropertyName, "*")%> не отображает ошибку проверки ... –

0

Вы используете Ajax.BeginForm или Html.BeginForm? I just read thi s, который объяснил мою проблему и ваш тоже, если вы используете Ajax.BeginForm ..