У меня есть следующая модель в моем проекте mvc.@ html.validationmessagefor не показывает сообщение об ошибке
public class AddGISViewModel
{
public myproject.Models.DomainModels.GIS gis { get; set; }
public IEnumerable<myproject.Models.DomainModels.Companies> Companies { get; set; }
public long CompanyID { get; set; }
}
Я создал представление, как этот
@model myproject.ViewModels.GIS.AddGISViewModel
@using (Ajax.BeginForm("Create", "GIS", new AjaxOptions { HttpMethod = "Post", Url = "/GIS/Create" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.Label("company", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.CompanyID, new SelectList(Model.Companies, "CompanyID", "Name"), "select company please ", htmlAttributes: new {@class = "form-control" })
@Html.ValidationMessageFor(model => model.CompanyID)
</div>
</div>
также я создал следующие метаданные
[Required(ErrorMessage = "you should select company")]
[DisplayName("company")]
[Display(Name = "company")]
public long CompanyID { get; set; }
Когда я запускаю свой проект @validationmessagefor шоу «CompanyID поле является обязательным» не «вы должны выбрать компанию», которую я определяю в метаданных. Как я могу исправить эту проблему?
Приложите эти атрибуты к классу 'AddGISViewModel' –
Большое вам спасибо, я применяю эти атрибуты к addGISViewModel, и это сработало. Есть ли какой-то способ вместо этого? –
Почему вы не хотите делать это правильно? (вы создали модель представления, которая должна представлять именно то, что вам нужно в представлении, включая атрибуты отображения и проверки). –