2013-07-16 6 views
1

В настоящее время при вызове SaveChanges на контроллере webapi, если бизнес-правила не удовлетворены, мы генерируем исключение с сообщением об ошибке. Это плохая практика, и вместо этого мы должны вернуться с установленным значением ошибки, чтобы jQuery мог ее обработать.breezejs: заполнить свойство ошибки SaveResult

Проблема заключается в том, как мы должны заполнять свойство ошибки объекта SaveResult. Как мы можем получить доступ к этому объекту?

ответ

2

Хороший вопрос! Мы фактически меняем это для следующего выпуска, либо позже на этой неделе, либо в начале следующей недели. «Новое» поведение будет заключаться в том, что любая сторона сервера валидация исключения, возникающие во время вызова SaveChanges, будут иметь два эффекта на клиенте Breeze.

1) Будет вызываться обещание «сбой» (а не SaveResult, поскольку это представляет собой сбойное сохранение), и возвращенная ошибка будет содержать коллекцию «serverErrors», содержащую информацию обо всех ошибках проверки, встречающихся на сервере, где каждая ошибка сервера будет отдельным json-объектом с полными сведениями об ошибке, включая сущность и свойство (если доступно), что произошла ошибка, а также сообщение об ошибке.

2) Эти ошибки будут автоматически добавлены в коллекцию validationErrors соответствующей сущности.entityAspect, поэтому любой существующий пользовательский интерфейс, который использует уведомления entityAspect.validationErrorsChanged, будет работать должным образом.

+0

ничего себе, фантастический! Я с нетерпением ждал этого, не могу дождаться, чтобы попробовать. – Sam

+0

Доступно сейчас, на сайте Бриз v 1.4.0 –

+0

видел это :) уже есть вопросы об этом. Спасибо за исправление ошибок! – Sam

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