У меня есть форма, состоящая из вложенных моделей, как показано ниже:
foreach (var item in Model)
{
<h3>
@item.StageDescription
</h3>
<div class="well">
<table id="Item@(item.ID)" class="WizardOption">
<thead>
<tr>
<some headings here />
</tr>
</thead>
<tbody>
@Html.EditorFor(m => item.WizardOptions,"","WizardOptions",null)
</tbody>
</table>
</div>
}
В классе WizardOption есть обязательный вызов поля Display Value:
public class WizardOptionMetaData {
[Required]
public string DisplayValue { get; set; }
}
Это отлично работает для первой таблицы, если я оставлю поле DisplayValue пустым, я получу сообщение об ошибке: «Поле DisplayValue обязательно». и отображается следующая разметка:
<input class="description-box" data-val="true" data-val-required="The DisplayValue field is required." id="WizardOptions_0__DisplayValue" name="WizardOptions[0].DisplayValue" type="text" value="">
Но любые таблицы после первой не получают валидацию должным образом:
<input class="description-box" id="WizardOptions_1__DisplayValue" name="WizardOptions[1].DisplayValue" type="text" value="">
Где я ошибаюсь?