Мое действие принимает свойство класса, которое связано с подшивкой модели по умолчанию:
public ActionResult MyControllerAction(MyModelClass model) { ...
Класс использует несколько нестандартных типов значений, таких как ObjectId
тип значения MongoDB, который, конечно, не обнуляется.
Если я создаю привязку пользовательской модели для типа ObjectId (достаточно легко сделать) и добавляю ее в Application_Start
следующим образом:
ModelBinders.Binders.Add(typeof(ObjectId), new ObjectIdModelBinder());
... он игнорируется связывателем модели по умолчанию, который, кажется, применяется только к значениям модели, переданным в качестве аргумента непосредственно действию.
Кроме того, я не могу получить атрибут [Required]
для распознавания значения по умолчанию (не указано) как не предоставленного.
Так в скорлупе ореха:
- Как получить привязку модели по умолчанию для использования зарегистрированных пользовательских привязок модели для анализа свойств модели?
- Как мне получить
[Required]
для распознавания значения default
этого свойства как не указанного?
Или - уже есть что-то, что уже обрабатывает все это, что я могу загрузить и использовать в моем проекте?