ValidationMessageДля отображения ошибок
У меня есть этот класс:
public class Product
{
[Required(ErrorMessage = "empty name")]
public string Name { get; set; }
[Required(ErrorMessage = "empty description")]
public string Description { get; set; }
}
и у меня есть ResponseProduct, который показан в поле зрения:
public class ProductInsertVM
{
public string Message = "Success";
public Product Product;
}
На мой взгляд, у меня есть следующее:
@using (Html.BeginForm()){
@Html.ValidationSummary(false)
@Html.TextBoxFor(m => m.Product.Description)
@Html.ValidationMessageFor(m => m.Product.Description)
}
Я хочу знать, почему ValidationMessageFor doest'n работает?!! работает только ValidationSummary. Если я отвечаю с Продуктом, значит он работает.
Ответы
Ответ 1
Приведенный вами код должен работать нормально, если выполняются следующие условия.
1) У вас есть ссылка на сценарии проверки jQuery в вашем представлении
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
2) В форме submit вы вызываете свойство ModelState.IsValid и, следовательно, проверяете модель, переданную методу действий
[HttpPost]
public ActionResult CarList(CarList model)
{
if (ModelState.IsValid)
{
//Save or whatever you want to do
}
return View(model);
}