w mojej aplikacji ASP.NET MVC API, mogę powrócić pomocnego ErrorResponse
jeśli kilka z moich Required
dziedzinach brakuje:Wracając odpowiedź o błędzie w przypadku zerowej modelu
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."
]
}
jednak jak this answer potwierdza modelu NULL będzie zatwierdź. Jak nie pozwalam na to, w jaki sposób mogę zwrócić równie pomocną odpowiedź o błędzie, podając wartości, które są wymagane? Wiem, że mogę ręcznie dodać wyjątek ModelError dla każdej właściwości, ale podejrzewam, że może to być sposób, który może zrobić dla mnie CreateErrorResponse
.
Witam @ Jonathan. Powyższe odwołanie ma sprawdzenie, czy model nie jest pusty. Jeśli ma wartość NULL, możesz sprawdzić poniżej sugestię. –
Czy można wywołać 'Controller.ValidateModel (new MyClass())' jeśli obiekt ma wartość NULL? (nb, 'ValidateModel' jest metodą w klasie' Controller'). zobacz http://stackoverflow.com/questions/6360087/manually-invoking-modelstate-validation – wal
nie ma automatycznego sposobu na osiągnięcie tego, co chcesz. potrzebujesz niestandardowego spoiwa modelowego –