У меня есть ситуация, когда я загружаю изображение, которое пользователь выбрал из своей локальной файловой системы. Моя форма, на мой взгляд, в основном имеет две кнопки отправки. Один используется для обычной отправки формы, и все проверки выполняются. Второй предназначен только для загрузки изображения, и в этом случае я пока не хочу проверять.
Мне удалось отключить проверку на стороне клиента, дав моей кнопке отправки «Загрузить изображение» значение класса «отмена имени-стиля», поэтому
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
Теперь, когда я отправляю ответ, у моей модели есть свойство UploadImageButton, при нажатии этой кнопки оно заполняет это свойство (имя ввода соответствует свойству). Таким образом, я знаю, была ли форма отправлена моей настоящей кнопкой «Отправить» или кнопкой UploadImageButton.
У меня такой вопрос ... Как отключить проверку ServerSide? Я не хочу, чтобы сводная информация о проверке отображалась, когда пользователь нажимает эту кнопку. Я знаю, что вы можете добавлять ошибки пользовательской модели с помощью этого
ModelState.AddModelError("{key}", "{error msg}");
Я ищу средство для удаления ошибок модели. Это возможно?
РЕДАКТИРОВАТЬ:
Вот что я придумал:
foreach (var key in ModelState.Keys.ToList().Where(key => ModelState.ContainsKey(key))) {
//ModelState.Remove(key); //This was my solution before
ModelState[key].Errors.Clear(); //This is my new solution. Thanks bbak
}
Where(key => ModelState.Keys.Contains(key))
? Кажется, что предложение Where является избыточным, потому что каждый ключ в ModelState.Keys будет иметь его ModelState.Keys.Contains (key) return true.