Если вы используете привязку модели из своего представления к действию публикации, она имеет встроенную проверку, которая может использоваться для этого.
Однако некоторые люди предпочитают проводить проверку вне Модели. Чтобы вернуть эти ошибки обратно в представление, необходимо обновить ModelState, а затем выполнить обычную проверку, если она действительна (содержит ошибки):
public Dictionary<string, string> ValidateEntry(Object obj)
{
var errors = new Dictionary<string, string>();
if (string.IsNullOrEmpty(obj.Owner))
{
errors.Add("Owner", "You must select Owned By.");
}
//... whatever else
return errors;
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Object cap)
{
var errors = ValidateEntry(cap);
if (errors.Count > 0)
{
foreach (var err in errors)
{
ModelState.AddModelError(err.Key, err.Value);
}
}
if (ModelState.IsValid)
{
//... do if valid
}
return View(ViewModel);
}