2010-04-10 30 views
5

Tôi có thuộc tính xác thực cấp lớp tùy chỉnh, kế thừa từ ValidationAttribute, trên mô hình của tôi.Chú thích dữ liệu tùy chỉnh cấp ASP.NET MVC và các phím ModelState

Làm cách nào nó không đăng ký khóa trong ModelState khi IsValid của nó sai? Tôi có thể thấy thông báo lỗi trong bộ sưu tập ModelState.Values, nhưng bộ sưu tập ModelState.Keys chỉ hiển thị một chuỗi rỗng "". Tôi có thể cung cấp một chìa khóa cho nó - có lẽ điều này là bởi vì nó không được gán cho một tài sản?

Tôi muốn có thể sử dụng ModelState.Remove trong bộ điều khiển của mình để xóa lỗi này khi có một điều kiện nhất định, nhưng tôi không có Khóa!

Bất kỳ ý tưởng nào?

+0

Tôi có cùng một vấn đề, tôi cần kiểm tra nhiều giá trị để tôi phát điên thuộc tính tùy chỉnh cấp lớp nhưng tôi không nhận được gì về chế độ xem cho thấy tôi có lỗi. Tôi nhận được ấn tượng rằng việc sử dụng chú thích dữ liệu để xác thực mô hình là thiếu độ bóng nhất. – JBeckton

+0

Câu hỏi này http://stackoverflow.com/questions/4266632/unable-to-set-membernames-from-custom-validation-attribute-in-mvc2 có cùng vấn đề và giải pháp cũng hy vọng sẽ giúp bạn. – Vipresh

Trả lời

0

Cách kiểm tra ModelError.Exception trong IModelBinder.OnModelUpdated.

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