У мене ситуація, коли я завантажую зображення, яке користувач вибрав зі своєї локальної файлової системи. На мою думку, у моїй формі є дві кнопки подання. Один використовується для нормальної подачі форми, і всі перевірки виконуються. Другий призначений лише для завантаження зображення, і в цьому випадку я ще не хочу перевіряти.
Мені вдалося вимкнути перевірку на стороні клієнта, надавши моїй кнопці "Завантажити зображення" значення класу "скасувати назву-стилю", тому
<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) повернення true.