Как проверка на стороне клиента узнает, что идентификатор требуется без атрибута DataAnnotation

#asp.net-mvc #asp.net-mvc-3

#asp.net-mvc #asp.net-mvc-3

Вопрос:

У меня есть частичное представление для моих представлений создания и редактирования.

В этой части есть: @Html.HiddenFor(model => model.ID)

В моем POCO это свойство не украшено атрибутом [Обязательно], но когда я перехожу на страницу создания и нажимаю Сохранить, запускается проверка на стороне клиента и сообщает, что требуется идентификатор.

Почему он так думает?

Ответ №1:

По умолчанию требуются целые числа, если вы не определяете их как int? (обнуляемый int)

Ответ №2:

Типы значений неявно проверяются платформой MVC.

Чтобы отключить это, установите DataAnnotationsModelValidatorProvider.Добавьте implicitrequiredattributeforvaluetypes к false в global.asax