Tôi gặp tình huống đang tải lên hình ảnh mà người dùng đã chọn từ hệ thống tệp cục bộ của họ. Biểu mẫu của tôi theo quan điểm của tôi, về cơ bản có hai nút gửi. Một được sử dụng để Gửi biểu mẫu một cách bình thường và tất cả quá trình xác thực sẽ thực thi. Cái thứ 2 chỉ để tải lên hình ảnh, trong trường hợp này tôi chưa muốn xác thực.
Tôi đã quản lý để tắt xác thực Phía máy khách bằng cách đặt cho nút gửi 'Hình ảnh tải lên' của mình một giá trị lớp là "hủy tên kiểu", vì vậy
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
Bây giờ, khi tôi đăng lại, mô hình của tôi có thuộc tính UploadImageButton, khi nhấp vào nút này, nó sẽ điền thuộc tính này (Tên của đầu vào khớp với Thuộc tính). Bằng cách này, tôi biết liệu biểu mẫu được gửi bởi nút Gửi thực sự của tôi hay bởi UploadImageButton.
Câu hỏi của tôi là ... Làm cách nào để tắt xác thực ServerSide? Tôi không muốn thông tin Tóm tắt xác thực hiển thị khi người dùng nhấp vào nút này. Tôi biết bạn có thể thêm lỗi mô hình tùy chỉnh bằng cách sử dụng
ModelState.AddModelError("{key}", "{error msg}");
Tôi đang tìm một phương tiện để loại bỏ lỗi mô hình. Điều này có khả thi không?
BIÊN TẬP:
Đây là những gì tôi nghĩ ra:
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))
? Có vẻ như mệnh đề Where là thừa, vì mỗi khóa trong ModelState.Keys sẽ có ModelState.Keys.Contains (khóa) trả về true.