Trong ứng dụng ASP.NET MVC API của tôi, tôi có thể trả về một hữu ích ErrorResponse
nếu một vài trong số Required
lĩnh vực tôi đang thiếu:Việc trả lại phản ứng lỗi trong trường hợp của một mô hình rỗng
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
-
"Message": "The request is invalid.",
"ModelState": {
"myModel.FooA": [
"The FooA is required."
],
"myModel.FooC": [
"The FooC property is required."
],
"myModel.FooD": [
"The FooD property is required."
]
}
Tuy nhiên như this answer xác nhận, một mô hình NULL sẽ Validate. Vì tôi không cho phép điều này, làm cách nào tôi có thể trả về một phản hồi lỗi hữu ích bằng nhau cho biết tất cả các giá trị được yêu cầu? Tôi biết rằng tôi có thể thêm một ModelError theo cách thủ công cho mỗi thuộc tính, nhưng tôi nghi ngờ có thể có một cách mà CreateErrorResponse
có thể làm điều này cho tôi.
Xin chào @Jonathan. Tham chiếu trên có một kiểm tra nếu mô hình không phải là null. Trong trường hợp nó là null, bạn có thể kiểm tra dưới đây gợi ý. –
Bạn có thể gọi 'Controller.ValidateModel (new MyClass()) 'nếu đối tượng của bạn là null? (nb, 'ValidateModel' là một phương thức trong lớp' Controller'). xem http://stackoverflow.com/questions/6360087/manually-invoking-modelstate-validation – wal
không có cách nào tự động để đạt được những gì bạn muốn. bạn yêu cầu một mô hình tùy chỉnh binder –