У меня есть Viewmodel, который выглядит следующим образом:
public class Viewmodel
{
public int Type {get;set} // 0 if typeA, 1 if typeB
[Required]
public string AProperty1 {get;set}
[Required]
public string AProperty1 {get;set}
...
[Required]
public string BProperty1 {get;set}
[Required]
public string BProperty1 {get;set}
}
Есть 2 формы, которые получают эту модель представления, и пользовательские входы FormA AProperty1, AProperty2 и т. Д. И BProperty-s возвращаются как нуль.То же самое с FormB.Тип формы (FormA или FormB) назначен полю ViewModel.type.
Так что проблема в том, что в моем контроллере я проверяю свойство ModelState.IsValid, и оно будет ложным в обоих случаях, потому что половинаполя всегда равны нулю.
Одним из возможных решений может быть как-то переопределить свойство ModelState.IsValid в моем ModelView, чтобы я мог передать ему тип.Но, насколько я знаю, пути нет.
Есть ли другие решения?(предпочтительно использовать с проверкой на стороне клиента)