Привет У меня есть приложение MVC с раскрывающимся списком в представлении:
<div class="editor-label">
@Html.LabelFor(model => model.CompanyId)
</div>
<div class="editor-field">
@Html.DropDownList("CompanyId", "--- Select ---")
@Html.ValidationMessageFor(model => model.CompanyId)
</div>
В модели у меня есть:
[Required(ErrorMessage = "Company is a required field.")]
[Display(Name = "Company:")]
public int CompanyId{ get; set; }
В контроллере для метода Create Get у меня есть:
ViewBag.CompanyId= new SelectList(_repository.GetAll<Company>(), "Id", "Name");
Итак, изначально редактор представлял собой стандартное текстовое поле и проверка работала нормально.Теперь я изменил его в раскрывающемся списке все работает отлично, за исключением проверки.Поэтому в HTTP POST Create, если вы ничего не выбираете из выпадающего списка, ModelState.IsValid
имеет значение false, что является правильным.
Проблема в выпадающем списке: сообщения проверки больше не отображаются для этого поля, как они это сделаликогда это было текстовое поле.Я понимаю, что у меня, вероятно, неверное сообщение ValidationMessage.
Может кто-нибудь подсказать, как заставить это работать?