Я пытаюсь настроить мою модель представления для формы, которая будет собирать информацию о людях, вступающих в команду.Форма должна содержать некоторую начальную информацию, а затем список из 5 «членов команды» (каждый из которых содержит имя, адрес электронной почты и телефон), первые два из которых потребуются.Для моей проверки я хотел бы, чтобы это было на отдельных полях, например:
Person 1:
Name: (validation messaage)
Email: (validation message)
Phone: (validation message)
Person 2:
Name: (validation messaage)
Email: (validation message)
Phone: (validation message)
Person 3:
Name:
Email:
Phone:
Person 4:
Name:
Email:
Phone:
Person 5:
Name:
Email:
Phone:
Соответствующая часть моей модели представления в настоящее время:
[Required]
public TeamMember TeamMember1 { get; set; }
[Required]
public TeamMember TeamMember2 { get; set; }
public TeamMember TeamMember3 { get; set; }
public TeamMember TeamMember4 { get; set; }
public TeamMember TeamMember5 { get; set; }
, поэтому, на мой взгляд, япросто напишите:
@Html.EditorFor(model=>model.TeamMember1)
@Html.EditorFor(model=>model.TeamMember2)
@Html.EditorFor(model=>model.TeamMember3)
@Html.EditorFor(model=>model.TeamMember4)
@Html.EditorFor(model=>model.TeamMember5)
шаблон редактора выглядит следующим образом:
@model MyProject.Models.TeamMember
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Phone)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Phone)
@Html.ValidationMessageFor(model => model.Phone)
</div>
Извините, что бросил так много в один поток, но есть ли у кого-нибудь предложения о том, как лучше установить этовверх?Я думал о наследовании от RequiredAttribute и замене [Required] в свойствах TeamMember, но я не уверен, как установить сообщения проверки для дочерних полей.Прямо сейчас, даже если он пустой, он проходит необходимую проверку, я предполагаю, потому что объекты связаны (и поэтому не нулевые), даже если все свойства не заполнены.
Любая обратная связь приветствуется.