Tôi gặp phải tình huống khi tôi 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 mình. 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 bình thường và tất cả xác thực thực hiện. Thứ hai là chỉ để tải lên hình ảnh, trong trường hợp này tôi không muốn xác thực.MVC3 Xóa lỗi ModelState
tôi quản lý để tắt Khách hàng xác nhận Side bằng cách cho 'Upload Image' của tôi nút gửi một giá trị đẳng cấp của "phong cách tên hủy", do đó
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
Bây giờ, khi tôi gửi lại, mô hình của tôi có một tài sản UploadImageButton, khi nút này được nhấp, 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ằng nút 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
Tôi đang tìm phương tiện để xóa lỗi mô hình. Điều này có thể không?
EDIT:
Dưới đây là những gì tôi đã đưa 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
}
Tại sao cậu lại làm một 'ở đâu (key => ModelState.Keys.. Chứa (key)) '? Dường như mệnh đề Where là thừa, bởi vì mỗi khóa trong ModelState.Keys sẽ có ModelState.Keys.Contains (key) của nó trả về true. –
Tôi đã cập nhật câu hỏi và văn bản, để sử dụng các phương pháp ngắn hơn trên ModelState.ContainsKey, mặc dù sai của bạn trong giả định của bạn. Đây là những điều tương tự. –
Xin lỗi, tôi có thể đã giải thích kém hoặc hiểu lầm câu trả lời của bạn. Bạn nói đúng rằng 'ModelState.ContainsKey (key)' và 'ModelState.Contains (key)' làm điều tương tự, nhưng quan điểm của tôi là tất cả các giá trị trong 'ModelState.Keys.ToList()' sẽ tự nhiên được chứa trong 'ModelState', do đó, toàn bộ mệnh đề' Where' là thừa và sẽ làm chậm hiệu suất. Điều nhỏ, mặc dù. –