У меня проблемы с проверкой моего приложения.
Допустим, у меня есть следующие модели:
public class Company
{
public int id { get; set; }
[Required]
public String Name { get; set; }
public String Location { get; set; }
public List<Contacts> Contacts { get; set; }
}
public class Contact
{
public int id { get; set; }
[Required]
public String Name { get; set; }
[DataType(DataType.EmailAddress)]
public String Email { get; set; }
public String Telephone { get; set; }
public String Mobile { get; set; }
}
Теперь в моем представлении создания компании есть две кнопки: одна для добавления контактов в компанию, а другая для создания новой компании.
Я обнаружил, какая кнопка использовалась в моем контроллере следующим образом (обе кнопки называются «кнопками»):
[HttpPost]
public ActionResult Create(String button, FormCollection collection)
{
if(button == "AddContact")
{
AddContact(collection);
}
else
{
CreateCompany(collection);
}
}
Во время создания объект, представляющий компанию, которую он создает, сохраняется в сеансе (например, HttpContext.Session ["company"] = company;)
Теперь проблема в том, что если, например, я пытаюсь добавить контакт без предварительного указания названия компании, я получаю ошибку проверки, потому что требуется название компании, что не должно произойти, потому что пользователь может захотеть добавить контакты перед добавлением информации о компании. Или, если я пытаюсь сохранить компанию, я также получаю ошибку проверки, потому что обычно при сохранении форма «добавить контакт» пуста, что означает, что имя контакта (которое также необходимо) не было указано.
Что я хочу знать, так это то, что если возможно проверить свойства контакта только при использовании кнопки addContact, и проверить свойства компании только при нажатии кнопки createCompany.
На данный момент мне нужно только сделать это на стороне обслуживания, но если у кого-то есть решение сделать это на стороне клиента, я был бы признателен за помощь.