2011-10-17 43 views
5

Tôi có cuộc gọi ajax mạnh mẽ (POST) ở một trong các trang MVC của tôi. Tôi không muốn thử và kết nối xác nhận phía máy khách cho điều đó, và sẽ không có tóm tắt nào để hiển thị ở phía máy khách, tuy nhiên, tôi muốn ném một số chú thích dữ liệu trên mô hình và xác nhận trên bộ điều khiển; nếu nó không xác nhận hợp lệ, tôi muốn gửi lại những gì đã có trong bản tóm tắt xác nhận như một thuộc tính JSON để tôi có thể hiển thị nó trong một hộp thoại như một thông báo lỗi.Xem Tóm tắt Xác thực trong bộ điều khiển

Tôi làm cách nào để cung cấp cho JsonResponse văn bản của tóm tắt xác thực trong bộ điều khiển của tôi?

Trả lời

8

Nếu bạn đang cố gắng để có được các lỗi, bạn chỉ cần sử dụng ModelState.Errors để có được tất cả các lỗi từ bộ điều khiển của bạn. Từ đó, bạn có thể tạo phản hồi JSON theo bất kỳ cách nào bạn muốn:

var response = new 
        { 
         isValid = ModelState.IsValid, 
         errors = ModelState 
         .SelectMany(ms => ms.Value.Errors) 
         .Select(ms => ms.ErrorMessage) 
        }; 
return Json(response); 
+0

Cảm ơn, đó là những gì tôi đang tìm kiếm. –

Các vấn đề liên quan