2012-04-23 2 views
0

Я что-то упустил? Я не пытаюсь вернуть ошибки проверки модели из моего метода обновления Web API, как этотModelState.AddModelError

public void Update public void UpdateModel(Models.Model entity) { 
     ModelState.AddModelError("name","error"); 
     return; 

Однако JSON вернулся уже без ошибок проверки

Например, в этой статье enter link description here

Когда я пытаюсь использовать фильтр проверки, как в предыдущей статье по этой ссылке. Я получаю сообщение об ошибке. Действие xxxxx имеет один или несколько примененных фильтров, которые не получены из AuthorizationFilterAttribute. В действиях DataController Insert/Update/Delete поддерживаются только фильтры авторизации.

ответ

0

ModelState не доступен из вашего JSON, если вы специально не сериализуете его как таковой. Он больше используется с расширениями HtmlHelper за кулисами. Если вы пытаетесь обновить интерфейс, как если бы состояние модели было помечено как таковое, вы все исправите. Вы можете:

  1. ли полный пост на сервер и пусть это делают соответствующий ответ
  2. Возьмите вы получите JSON обратно, а затем стиль поля в зависимости от обстоятельств для этого ответа.
+0

Я пытаюсь получить ValidationErros в JSON, который возвращается так же, как они появляются с атрибутами проверки в модели. Например, «ValidationErrors»: [{«__ type»: «System.Web.Http.Data.ValidationResultInfo, System.Web.Http.Data», «Сообщение»: «tReleaseDate должен быть после текущей даты», «ErrorCode»: 0, «StackTrace»: null, «SourceMemberNames»: ["tReleaseDate"]} –

+0

см. Статью для примера http://blog.duc.as/tag/asp-net-web-api/ –

Смежные вопросы