Как я могу проверить другую модель при просмотре деталей одной модели? - PullRequest
1 голос
/ 14 июня 2011

Я показываю страницу сведений о модели фильма со списком связанных (дочерних элементов) моделей актеров.

В нижней части списка актеров я рендеринг текстового поля для быстрой вставки нового актера, связанного с текущим фильмом, и это прекрасно работает.

Но как я могу проверить (клиент и сервер) текстовое поле для имени актера, чтобы оно не было пустым при отправке?

Я использую Linq2SQL и DataAnnotations:

[MetadataType(typeof(ActorValidation))]
partial class Actor
{
}


public class ActorValidation
{
    [Required(ErrorMessage = "You forgot the name.")]
    public string Name{ get; set; }
}

Это форма просмотра подробностей фильма:

    <% 
        Html.EnableClientValidation();
        using (Html.BeginForm("NewActor", "Movie"))
        { 
    %>
    <%= Html.Hidden("MovieId", Model.Id) %>
    <%= Html.TextBox ("Name")%>
    <%= Html.ValidationMessage("Name") %>
    <br />
    <input type="submit" value="Add" />
    <% } %>

1 Ответ

0 голосов
/ 14 июня 2011

Один из вариантов - поместить форму «нового актера» в отдельное частичное представление, в котором в качестве модели используется актер, а затем вызвать Html.RenderPartial для ее рендеринга. Вот что я бы сделал.

Это особенно хорошо работает с AJAX, потому что вы можете просто проверить модель и вернуть частичное представление с включенным методом проверки при сбое. В случае успеха вы можете вернуть частичное представление, показывающее нового актера, за которым следует новый экземпляр формы «новый актер».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...