2011-12-22 28 views
45

Tôi cần thực hiện kiểm tra xem mô hình của tôi có hợp lệ từ bên trong chế độ xem Dao cạo hay không. Nếu nó hợp lệ thì tôi muốn có thể hiển thị một số HTML.Làm cách nào để kiểm tra xem mô hình của tôi có hợp lệ từ bên trong chế độ xem dao cạo không?

Tôi làm cách nào để thực hiện việc này. Tôi muốn một cái gì đó giống như

@if (Model.IsValid) { 

} 

nhưng ở trên không hoạt động

+0

Tôi ghét hỏi điều này, nhưng tại sao? Kịch bản duy nhất tôi có thể nghĩ là nếu bạn không được phép sử dụng xác thực jQuery vì một lý do nào đó. – Peter

+3

@Peter (và bất kỳ ai khác có cùng câu hỏi), hãy tưởng tượng rằng bạn muốn xuất phần tử 'div' * nhưng chỉ khi * thông tin đã gửi trước đây không hợp lệ, ví dụ: xuất phần tử vùng chứa cho cảnh báo cho thông tin xác thực đăng nhập không hợp lệ. –

+0

@Peter người bạn thân yêu của tôi, hình ảnh này: bạn đang tải lên một tập tin và muốn kiểm tra xem nó có định dạng chính xác, bạn có thể làm điều đó trên javascript? - không, bạn không thể! Vì vậy, bạn có thể làm một kiểm tra trên phía máy chủ và nếu nó không thành công, bạn có thể thêm một lỗi để ModelState để hiển thị nó trên trang. –

Trả lời

74

Bạn có thể kiểm tra hay không ModelState là hợp lệ, nhưng hãy nhớ rằng bạn chỉ kiểm tra tính hợp lệ của ModelState vào thời điểm đó các yêu cầu web đã được thực hiện:

@if (ViewData.ModelState.IsValid) { 
    ... 
} 

Ngoài ra, bạn có thể kiểm tra validatity của một tài sản trên các mô hình trong giao diện:

@if (ViewData.ModelState.IsValidField("FIELD_NAME")) { 
    ... 
} 
+3

+1 để đề cập đến khi trạng thái mô hình được xác thực. –

+0

'FIELD_NAME' được chuyển đến' IsValidField' phải là ** tên đầy đủ ** của trường có liên quan đến toàn bộ hệ thống phân cấp ViewModel. –

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