Я сталкиваюсь с проблемами, когда связыватель модели по умолчанию продолжает выдавать ошибки ModelState для косвенных полей.Примите во внимание следующее:
public class Model1 {
public int Id;
[Required]
public string Name;
[Required]
public string Type;
}
public class Model2 {
public int Id;
[Required]
public string Name;
[Required]
//selected via a dropdown consisting of all Model1 record names and Id for value
public Model1 Model1;
}
При создании / редактировании сущности Model2 в типичном контроллере я должен получать ошибки состояния модели только для Model2.Name и Model2.Model1, если у меня нет для них значений,Тем не менее, я также получаю ошибки для Model1.Type, так как я не заполняю Model1.Type в этом случае, так как он мне не нужен.Я просто заполняю раскрывающийся список для Model1 и просто заполняю Model1.Name.
Как я могу написать пользовательский Binder, который достаточно универсален, чтобы сказать: проверять только прямые поля / свойства рассматриваемой модели.В этом случае должны проверяться только Model2.Model1 и Model2.Name.