Есть несколько разных способов сделать это.Первый - добавить свойство IsValid, которое проверяет это свойство.Так что-то вроде:
public class Company
{
public bool IsValid
{
get { return GetValid() }
}
private bool IsValid()
{
if ( Some check here )
return false;
}
}
[HttpPost]
public ActionResult SomeAction(CompaniesViewModel model)
{
if (model.Company.IsValid)
{
}
}
Однако лучшим решением IMO было бы просто разместить Компанию на вашем контроллере, а не на всей модели представления.Если вы передаете модель представления в представление, это не означает, что вам нужно опубликовать всю модель представления обратно.Когда вы создаете свою HTML-форму, укажите только те свойства, которые вы хотите отправить обратно на свой контроллер.Так, например, ваш контроллер станет:
[HttpPost]
public ActionResult SomeAction(Company company)
{
if (Model.IsValid)
{
}
}
Теперь, когда вы проверяете Model.IsValid, он просто проверяет компанию, поскольку это все, что вы передали обратно контроллеру.