Как включить проверки для внутренних моделей в MVC 3? - PullRequest
0 голосов
/ 28 октября 2011

В моем проекте у нас есть несколько шаблонов редактора, которые отображают html, например:

<table>
   <tr>
       <td><image src="/SIIJYP/Content/Images/lupa.bmp" id="@(controlId)img"/></td>
       <td>
           @Html.Hidden("Id", Model.Id)
           @Html.TextBox("Fullname", Model.Fullname, new {@readonly="readonly"})
       </td>
   </tr>
</table>

Это выглядит как небольшое изображение рядом с текстовым полем и используется для поиска и выбора человека извсплывающее окно поиска людей.

Модели, использующие этот шаблон, имеют следующие свойства:

public class MyModel
{
    [Required(ErrorMessage="This value is required")]
    [UIHint("PeopleSearch")]
    public Person Responsible { get; set;}
}

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

Как мы должны изменить наш шаблон для отображения сообщения, когда пользователи предоставляют какое-либо значение?

ОБНОВЛЕНИЕ: Определение модели персонажа:

public class Person
{
    public long Id { get; set;}
    public string Fullname { get; set;}
}

Мне нужен способ, позволяющий мне использовать RequiredAttribute в свойстве Responsible для проверки того, что оба: Idи Fullname имеют значения и в противном случае выводят сообщение об ошибке под текстовым полем.

1 Ответ

0 голосов
/ 28 октября 2011

Как указано в комментариях, вы забыли поставить в HTML

@Html.ValidationMessageFor(model => model.Responsible.Name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...