DataAnnotations в ASP.NET MVC 2 - Мешают MVC применить RequiredAttribute к Не допускающему NULL-значения DateTime и т.д. свойства

Я пытаюсь создать пользовательскую версию RequiredAttribute для замены созданного в одном, и у меня есть он работающий на свойства, которые имеют строковые значения, но со свойствами, которые являются DateTime или целым числом, например, RequiredAttribute по умолчанию, кажется, применяется автоматически (ЕСЛИ свойство не nullable!)

Моя проблема состоит в том, что я хочу смочь указать свойство DateTime как требуется с помощью моего пользовательского необходимого блока проверки допустимости, который получает сообщение об ошибке из файла ресурсов (я не хочу должным быть говорить RequiredAttribute тип файла ресурсов и ключа каждый раз, что я применяю его. Именно поэтому я делаю пользовательский.)

Как я могу препятствовать тому, чтобы платформа применила необходимый атрибут к свойствам типа DateTime и интервал и т.д., не изменяя их на nullable.

Спасибо

5
задан jwwishart 21 March 2010 в 23:32
поделиться

3 ответа

Нашел! Я поместил это в файл Global.asax.cs

DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

. Класс DataAnnotationsModelValidatorProvider имеет статическое свойство, называемое «AddImplicitRequiredAttributeForValueTypes», которое по умолчанию должно быть истинным, и установка его на false решила проблему.

(Для всех, кто пытается сделать то же самое, что и эта запись, я документирую ее здесь )

10
ответ дан 13 December 2019 в 05:33
поделиться

У меня установлена RTM и нет свойства AddImplicitRequiredAttributeForValueTypes...

1
ответ дан 13 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: