Modelstate addmodelerror là gì

Tôi đang kiểm tra cơ sở dữ liệu của mình Create[FooViewModel fvm]{...}để xem nếu fvm.prop1và fvm.prop2đã tồn tại trong sự kết hợp đó; nếu vậy, tôi muốn thêm một lỗi vào modelstate, sau đó trả về toàn bộ khung nhìn. Tôi đã thử: public ActionResult Create[FooViewModel fvm]{    if [ThatComboAlreadyExists[fvm]] {      ModelState.AddModelError["Model", "There is already one like that"];      return View[fvm];    }}

... nhưng tôi không nhận được lỗi nào trong Html.ValidationSummaryđó, đó là nơi tôi cho rằng chúng sẽ xuất hiện. Tôi có nghi ngờ rằng "Model" không phải là chìa khóa phù hợp, nhưng tôi chưa thể tìm thấy bất cứ thứ gì như Google.

Cuối cùng tôi đã vấp phải một ví dụ về cách sử dụng mà tôi đang tìm kiếm - để gán lỗi cho Model nói chung, thay vì một trong các thuộc tính của nó, như thường lệ bạn gọi: ModelState.AddModelError[string key, string errorMessage];

nhưng sử dụng một chuỗi rỗng cho khóa: ModelState.AddModelError[string.Empty, "There is something wrong with Foo."];

Thông báo lỗi sẽ tự hiển thị theo như bạn mong đợi.

Bạn có thể thêm lỗi mô hình vào bất kỳ thuộc tính nào trong mô hình của bạn, tôi đề nghị nếu không có gì liên quan để tạo thuộc tính mới.

Như một ví dụ, chúng tôi kiểm tra xem email đã được sử dụng trong DB chưa và thêm lỗi vào thuộc tính Email trong hành động để khi tôi quay lại chế độ xem, họ biết rằng có lỗi và cách hiển thị bằng cách sử dụng   model.Email] %>

và  ModelState.AddModelError["Email", Resources.EmailInUse];

Đặt thuộc tính dấu chấm mô hình trong chuỗi làm việc cho tôi: ModelState.AddModelError["Item1.Month", "This is not a valid date"];

Video liên quan

Chủ Đề