2012-07-24 10 views
5

Mam prosty model Ember-data:Ember-data isValid, isSaving i isError

WZ.Exercise = DS.Model.extend 
    name: DS.attr 'string' 
    description: DS.attr 'string' 
    group: DS.belongsTo 'WZ.Group' 

chcę wyświetlić komunikat potwierdzający dla użytkownika, jeśli nowy rekord został zapisany lub jeśli wystąpił błąd . Błąd może być, że obiekt jest nieważny i JSON zwracany jest błąd jak poniżej:

{"errors":{"description":["can't be blank"]}} 

widzę, że każdy model jest wyposażony w isSaving, mienia IsValid i mienia ISERROR.

Czy ktoś może mi powiedzieć, w jaki sposób mogę użyć tych właściwości do wyświetlania prawidłowych powiadomień dla użytkowników?

+1

może to pomoże: http://grosser.it/2012/05/05/save-validation-cucksbacks-for-ember-dataember-js/ W przeciwnym razie mogę tylko powiedzieć, że jest dyskusja na temat sprawdzania poprawności za pomocą danych ember: https: // github .com/emberjs/data/pull/201 , ale nie znam stanu rozwoju tego, ponieważ obecnie Tom Dale i Yehuda Katz pracują nad dużym refaktoryzacją. –

Odpowiedz

3

nie mogę pomóc w ramach walidacji, ale jeśli chcesz, aby wyświetlić informacje do użytkownika na podstawie stanu danych można korzystać z tych statusów Państwa zdanie szablonie tak:

{{#if content.isNew }} 
    <button {{ action save }} >Save</button> 
{{/if}} 
{{#if content.isSaving }} 
    <i>Saving record...</i> 
{{/if }} 
{{#if content.isLoaded }} 
    <b>Record created</b> 
{{/if }} 
{{#unless content.isValid }} 
    <error>Error saving data</error> 
{{/unless }} 
1

Oprócz pierwszego linku sly7_7 (dodanie funkcji ObserverSaveOnce do DS.Model) można załatać numer RESTadapter, aby wychwycić komunikaty o błędach po stronie serwera.

Przykładem implementacji można znaleźć tutaj: https://gist.github.com/3981832

(nie wkleić kod tutaj, bo mogę zaktualizować sens dla nowszych wersjach Cienia-danych)

Powiązane problemy