Как установить допустимое состояние модели, когда ввод файла становится нулевым - PullRequest
0 голосов
/ 11 апреля 2019

Когда я пытаюсь создать новую запись без выбора какого-либо файла, это дает мне Преобразование параметра из типа 'System.String' в тип 'System.Web.HttpPostedFileBase' завершилось неудачно, поскольку преобразователь типов не может преобразовать эти типы. ошибка.Я хочу создать запись с или без выбора файла от пользователя.if HttpPostedFileBase [] null Состояние модели должно быть допустимым.Я проверяю, что в модели HttpPostedFileBase также нет обязательной проверки.

[HttpPost]        
        public ActionResult NewTheme(ThemeModel themeModel, ColorItem colorItem, ImageItem imageItem, Dictionary<string, HttpPostedFileBase[]> selectedImageList)
        {
            try
            {               
                if (ModelState.IsValid)
                {
                }
              }
         }

Я хочу, чтобы ModelState действовал, когда словарь HttpPostedFileBase также получает значение 0 *

1 Ответ

0 голосов
/ 11 апреля 2019

Вы не можете установить ModelState.IsValid напрямую, поскольку это производное свойство, которое просто проверяет набор ошибок моделей. Однако вы можете добавить собственные ошибки модели, например:

ModelState.AddModelError("selectedImageList", "File is mandatory");

ModelState.IsValid вернет false.

Отсюда: Установка ModelState.isValid вручную из контроллера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...