2012-07-24 2 views
5

私はシンプルエンバー・データモデルがあります:エンバー・データはisValid、isSavingとのisError

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

を私は新しいレコードが保存されている場合や、エラーが発生した場合、ユーザーに確認メッセージを表示したいです。エラーは、オブジェクトが無効であるとのエラーJSONは以下のように返されていることが考えられます。

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

各モデルはisSaving、IsValidプロパティとのisErrorプロパティに付属していることを私は見ることができます。

これらのプロパティを使用して、ユーザーに正しい通知を表示する方法を教えてもらえますか?

+1

おそらくそれが役立つだろうします。http:/ /grosser.it/2012/05/05/save-validation-callbacks-for-ember-dataember-js/ それ以外の場合は、ember-dataの検証に関する議論があります。https:// github .com/emberjs/data/pull/201 現在のところ、Tom DaleとYehuda Katzが大きなリファクタリングに取り組んでいるため、私はこれの開発状況を知らない。 –

答えて

3

私は検証の一部であなたを助けることはできませんが、データの状態に基づいて、ユーザに情報を表示したい場合は、そのようなあなたビューテンプレートでこれらの状態を使用することができます。

{{#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

sly7_7の最初のリンク(ObserverSaveOnce関数をDS.Modelに追加)に加えて、RESTadapterにパッチを適用して、サーバー側エラーメッセージをキャッチすることができます。

あなたがここに見つけることができるの実装例:https://gist.github.com/3981832

(私はエンバー・データの新しいバージョンの要旨を更新する可能性があるため、私はここにコードを貼り付けていなかった)

関連する問題