Используя MVC5, у меня есть модель с значением int, которая не может быть равна NULL и не должна иметь значение NULL, однако я не хочу, чтобы связующее устройство автоматически потребовало, чтобы это поле (вид привязан к списку <> и любой элемент в списке может быть оставлен пустым, и, следовательно, не сохраняется в БД), поэтому я ставлю следующее Application_Start():AddImplicitRequiredAttributeForValueTypes = false не работает, когда ошибка проверки контроллера возвращает вид
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
Это прекрасно работает, когда сначала отображается мое представление, но когда пользователь нажимает кнопку «Сохранить», все проверки проходят, тогда действие «Контроллер» выполняет дополнительную проверку перекрестной записи (например, общее количество записей должно равняться 100). Если проверка не пройдена, я затем установить пользовательскую ошибку и вернуть вид:
ModelState.AddModelError("", "Total Allocation must equal 100%.");
return View("Shipment", shipment);
После того, что общая сумма корректируется, пользователь снова нажимает Save, и теперь
неявная проверка Обязательный начинается происходит на стороне клиента и никогда не отправляет HttpPost обратно в корректуру контроллера
: неявная проверка выполняется на стороне сервера, а не на стороне клиента. Это та же неявная проверка, которую я отключил в Application_Start (я проверил в режиме отладки, и это все еще ложно, когда View возвращается с ошибкой).
Это ошибка с AddImplicitRequiredAttributeForValueTypes или я что-то не так?
ТИА -vg